(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of ""

CNDTL MACRO HIIOB U-DEC-77 09:^3 PAGE «-3 





175 

176 OOt'SAO 

177 0005*2 

"350 

[52 

J5A 

000356 

000360 

000562 

_ 000566 

188 00Q57A 

189 000576 

190 00040A 

191 0OOA06 

192 OOOA10 
195 0O0A12 

194 OOMU 

195 000416 

196 000420 

197 000422 

198 0004 
199 



001401 
005105 
000207 

005574 
000772 

002770 
000766 
010501 

M 

001750 



005000 
052767 

m 

020005 
001402 
010205 
005105 
010102 
020527 
001404 
020527 
001004 
005102 




000010 OOOOOOG 



000046 
000U41 



OOOOOOG 



OQOOOQG 
OOOOOOG 



BEQ 
TCOfJFA: COM 
TCONTR: RETURN 
TCONGT: ABSEXP 
6GT 
6R 
TCOr^LI: ABSEXP 
t,LT 
BR 
TCONOF: MOV 
CLR 
CLR 
IS: GETSYM 
BEQ 
SSRCH 
CRFREF 
CLR 
BIT 
BNE 
COM 
CMP 
BEQ 
MOV 
COM 
MOV 
CMP 
BEQ 
CMP 
BNE 
COM 
GEVNB 
BR 
TST 
BEd 
COM 

RETURN 
BEQ 
CALL 
SETNB 
9EQ 
BR 
TCBERR: ERROR 
TCBERXi RETURN 
rClDi BEQ 
CALL 
MOV 

Tsr 

MOV 
CALL 
CALL 
BtQ 
111 M0V8 



21 



3t! 



4Si 
5»i 



61: 
tCBi 



»i 



Is 

CMP 
RNF 



TCONTR 
R5 



TCONTR 
TCONFA 

TfCNrP 

s'i.Rl 

Si 

IFAERR 



RO 

ITDEFFLCMODE 

2$ 

RO 

R0,R3 

3$ 

R2,R3 

R3 

R1.R2 

R5.«CH.AND 

4$ 

RS,#CH.I0R 

SI 

R2 

II 
R1 
61 

R3 

TCBERX 
GMARGF 

TCIDT 
TCtOF 
A 

TCflfRR 

GMARGF 

CMRPNT.RI 

-(RO) 

-(R0).R2 

RMARG 

»<IARG 

rCBFRR 

(RD.RO 

ri.rJ 

Cf 

M 

R0,R5 

TflDF 



BRANCH IF SAT 

FALSE, TOGGLE 
TRUE, JUST EXIT 



SAVE INITIAL CONDITION 

SET '%" 

START OFF TRUE 

GET A SVMBOL 

ERROR IF NOT A SVM 
SEARIH USER SYMBOL TABLE 

ASSUME DEFINED 
GOOD r,UESS? 

-S 
NO. TOOGLE 
VCS, MATCH? 

YES, ALL SET 

NO 

ASSUME '%" 

I Ml I 

BRANCH IF GOOD GUESS 
PERHAPS OR? 

NO 
YES, TOGGLE MODE 
BYPASS OP 
TRY AGAIN 
IFDF? 

YE^ 
NO. TOGGLE 

OK U NULL 

ISOLATF ARGUMFNT 

BYPASS ANY BIANKS 

TRUE IF POINTING AT DFl IMITFR 

ELSE FALSE 

NAUGHTY 

ERROR IF NULL 
ISOLATE FIRST ARG 
SAVE CHARACrFR POINTER 

POINTER TO flRMINATOR 
RETURN tHIS ARG 
jGET IHE NENf 

;SET CHARACTER FROM FIRST FIELD 

;IS H THE LAST? 

; NO 

:YE5. CLEAR It 

jMATCHT 

I NO 



••t« I 1 ••«• 



CNOTL MACRO MIIOB U-DlC-77 09:A3 PAGE 4 -A 



p §§sn§ 


005705 


00U05 


hi 00055A 




232 000560 


005201 


233 000562 


000764 


23A 00056A 


005103 


235 000566 


000167 



B 



ooooooc 





TST 


R5 




BEQ 


TCIDT 




GETCHR 






INC 


Rl 




BR 


11 


TCIOF: 


COM 


R3 


TCIOT: 


JMP 


RMARG 



;YES, FINISHED? 

; YES, GOOD SHOW 

:N0. GET THE NEXT CHARACTER 

.'ADVANCE FIRST ARG POINTER 

:TRY AGAIN 

;FALSE, TOGGLE CONDITION 

;0K, RESTORE ARGUMENT 



000001 



.END 



••*• C 1 **•* 



CNOTL MACRO M1108 U-OEC-77 09: A3 PAGE 4-5 
SYMBOL TABLE 



ABSEXPr 
AM.DECr 
AM.DEFs 
AM.im* 
AM.INC" 
AM.NDX> 
AM.PC » 
AM.REL> 
ARGCNTe 
ASTFLG- 
BLKrOU 
BLKT02> 
BLKT03> 
BLKTOA- 
8LKT05> 
BLKT06- 
CHRFUJT- 
CH.AOD' 
CH.AND> 
CH.BSL- 
CH.COL- 
CH.COPI" 
CH.DIV> 
CH.Da> 
CH.DOT- 
CH.EOU> 
CM.MSM» 
CH.1ND> 
CH.IOR- 
CH.LAB- 
CH.LP ■ 
CH.MUL- 
CH.PCT» 
CH.QM > 
rH.QTM- 
CH.RAB* 
CM.RP • 

. ABS. 



CNOSEC 0001 QQ 
PURE I 000572 
ERRORS DETECTED) 



••••♦♦ GX 

000040 

000010 

000027 

000020 

C00060 

000007 

000067 

****** GX 

0001U 

OOOO^' 

OOOOt 

000003 

ooooa'. 

0O0OU5 
000006 

*•«*** QX 

000053 
0O0M6 
000134 
000072 
000054 
000057 
000044 
000056 
000075 
000043 
000100 

1 
74 



45 

77 
000042 
000076 
000051 





000 
001 
002 
OOJ 



CH.sncs 

CH.SUBb 

CH.UARs 

CH.XCL« 

CNOBAS 

CM)LVL« 

CNDMEX> 

CNDMSK* 

CNORa* 

CNOTOP 

CNDWRD> 

CPXADD" 

CPXAND' 

CPXCQM> 

CPXCON* 

CPXDIV« 

CPXFLG« 

CPXGLB* 

CPXIOR- 

CPXMUL" 

CPXNEG- 

CPXOPC- 

CPXREL« 

CPXSDS- 

CPXSTO" 

CPXSUB> 

CR 

CSTACC- 

CS1AL0> 

CSTFL6* 

CSTGBL« 

CST«EM' 

CSTREL- 

CSTTYP« 

DEFFLG« 

DFGFLG- 

DIG.O ' 



000073 
000055 
000136 
000047 
OOOOOORG 
****** GX 
****** GX 
****** GX 
****** GX 

0001 OORG 
****** GX 

OOO'OI 
000005 
000011 
000020 
000004 
000200 
000016 
000006 
000003 
000010 
000010 
000017 
000013 
000012 
000002 
000015 
000020 
000004 
000050 
000100 
000001 
000040 
000200 
000010 
000020 
000060 



016.9 = 
ENDC 
ENDCX 
ERRBTS" 

002 ERR. A <= 
ERR.O ' 
FF ■ 
GETCHR* 
GETNB ■ 

002 GETSVM« 
GLBFLG> 
GMARG > 
GMARGFo 
GSARG > 
GSDTOO- 
GSDT01« 
GSDT02> 
GSDT03« 
GSDT04> 
GSDT05> 
GSDT06> 
IF 

IFAERR 
IFAERX 
IFF 

IFOERR 
IFT 
IFTF 
IF1 
IIF 

ILVL ' 
LBLEND* 
LBIFLG- 
LCBEGL- 
LCFNDL« 
LCFLAG- 
LCMASK* 



000071 
0001 S6RG 
0001 74R 



****** 
****** 
****** GX 

000014 

****** 
****** 
****** 
000100 

****** 



GX 
GX 



GX 
GX 
GX 



l\l\^^\- 5222! "*f?i..^'i2 >*^PS ( 12 PAGES) 
ELAPSED TIME: 00:00:25 
CNDT^.CSO,30]CW)TL/-SP.t5O,103R$XPAR.QEN«C.FLGDF.CNDTL 



GX 
GX 
GX 



****** 

000000 

000400 

001000 

001400 

002000 

002400 

003000 

000066RG 

00031 OR 

00031 6R 

0001 26NG 

000230R 

0001 20RG 

0001 34RG 

000072R 

OOOOOORG 

000001 

****** GX 

000002 
****** GX 
****** GX 
****** GX 
«*«**« GX 



LC.CND 
003 LET. A 
003 LET.B 
LET.C 
LET.D 
Lt!T.E 
LET.F 
LET.G 
LET.O 
LET.Z 
LF 

LST.KB 
LSI. LP 
WFFLG 
MODE 
NUtSEC 
OVSTMT 
PSTFLG 
REGFLG 
RELFLG 
RLDTOO 
003 RLDT01 
003 RLDT02 
003 RLDT03 
003 RL0T04 
003 RLDT05 
003 RLDT06 
003 RL0T07 
003 RLDT10 
003 RLDTIV 
RLDT15 
RLDT16 
RL0T17 
RMARG 
RSX11M 
RtlllM 
SCANW 



****** GX 


SETNB 


B ****** GX 




000101 


SPACE 


= 000C40 




000102 


SSRCH 


c ****** GX 




000103 


SUBMAC 


■•• 000001 




000104 


SYMBOL 


s ****** GX 




000105 


TAB 


' 000011 




000106 
000107 


TCB 


0004 56P 


003 


TCBERR 


0004 74R 


003 


2S2UJ 


TCBERX 


000502R 


003 


000132 


TCID 


000504R 


003 


000012 


TCIDF 


000564R 


003 


000001 


TCIDT 


000566R 


003 


000002 


TCON 


000240R 


003 


000004 


rCONDF 


000354R 


003 


***•*« GX 


TCONEQ 


000322R 


003 


000004 


TCONF 


000244R 


003 


****** GX 


TCONFA 


000330R 


003 


000050 


TCONGT 


000334R 


003 


000001 


TCONLT 


000344R 
000332R 


003 


000040 


TCONTR 


003 


000000 


rSTARG' 


> ****** GX 




000001 


VT 


• 000013 




000002 


XBSRCHi 


' 000000 




000003 


XCREF i 


' 000000 




000004 


XEDABS' 


. 000000 




000005 


XEDCDR' 


• 000000 




000006 


XEDFPT- 


' 000000 




000007 
000010 


XEDLC > 


. 00000( 




XEOPIC' 


. 00000' 




000011 


XEDPNC" 


. oooooi 




000015 


XFLTG « 


. OOOOOI 




000016 


XOPEXP" 


' OOOOOn 




000017 


XRGERR< 


■ OOOOOI 




****** GX 


XSUBD < 


00000( 




ns 


X/ERR • 

X45 . 


. 900000 

000000 




*•**.* GX 


7APCPX« 


. ****** GX 





•••• 1 •••• 




*«*t I \ t«*« 



1 



CODHO MACRO Ml 108 U-OEC-77 09:AA PAGE 6 



44 000000 
45 



005767 
00U44 
005767 
OOtUI 




moir 



OOOOOOG 
000002 • 



000?00 

m 

UOOOOOG 



.TITLE CODHD 
.lOENT /08/ 



COPYRIGHT (C) 1972.1976 

DIGITAL EQUIPMENT CORPONAIION, MAYNARD, MASS. 

THiS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND NAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWIS'' 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 08 
B. BOWERING 



MODIFIED BYt 



D.N. 
C.A. 
C.A. 
C.A. 
C.A. 



CUTLER 
D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 



H.A. NICHOLS 
C.A. d'ELIA 



-FEB-73 
22-SEP-73 
10-NOV-73 
22-MAR-74 
07-APR-74 
15-JUN-74017 
50-OCT-75 



001 
004 
014 
015 

021 



(VIRT MEMORY) 



••-STCODE-STOhF CODE 
••-PCROLL-PROCEJS CODE ROLL 



STCODE 



PURE 
iTST 
BEQ 
TST 
BEQ 
SAVREG 
SETXPR 
BITB 
6(0 
MOV 
MOVB 
MOVB 
CALL 
CLR 



PUREI.l 

PASS 

4t 

OBJPNT 



#CPXFLO.(RS) 

(R4),-(SP) J 

•LSCNr»CPXLSI.(R4 

rPXSTL,(R4)» 

APPCOD 

ILSPNT 



I IS THIS FIRST PASS? 

I YES. IGNORE COMPLEX ROLL 

' OBJECT CODb NEEDED? 
\ JUST STORE CODF 

I brWE REGISTERS 

I SET EXPRESSION REGISTERS 

I COMPLEX RflOCAIION fXPRfSStON? 

I NO. BRANCH fO APPtND CODE ONI Y 

I SAVF VALUE — n REVEALS MODE 
\**0f\ PUT # Ot CPX ELEMCNIS IN VALUE 

I PUT Sl/E OF COMPLEX STRING IN VAlUt 

I APPEND EXPR VALlit TO (ODE ROLL 

I INIT POINTER TO START OF LIST 



*••* 



TT 



•••* 



rrr 



■• AA.J^A 



»A*a A—* 



COOHO NACRO Ml 108 U-OEC-77 09:AA PAGE 6-1 



58 00Q05A 
5$ 000064 

60 000066 

61 000072 

62 000076 

63 000102 
6A 00010A 

65 000110 

66 000112 

67 0001 U 

68 000116 

69 000122 
7o 

7i 000126 

72 000136 

73 OOOUA 
74 

75 

76 000U6 

77 000156 
78 

79 

80 000160 

81 000170 

82 000172 

83 000176 

84 000200 

85 000202 

86 000206 

87 000210 

88 000212 

89 000216 

90 000220 

91 000224 




95 000240 

96 000244 



001407 

016746 OOOOOOG 

004767 000050 

012667 OOOOOOG 

000764 

012713 004012 

062613 

000313 

005044 

004767 000024 

105267 000002' 



2$: 



3S: 



4S: 



012767 000003 000000' 
0002P7 



7APCPX! 



NEXT CPXLST .•♦t021 FETCH NEXT COMPLEX EXPR ELEMENT 

BEQ 3$ .•♦♦001 BRANCH IF NONE LEFT 

MOV ILSPNT.-(SP) ;^^0?1 SAVE LIST POINTER 

CALL APPCOO ,•♦♦001 APPEND ELEMENT TO CODE ROLL 

MOV (SP)^,SLSPNT .•♦♦021 RESTORE LIST POINTER 

BR 21 .•♦♦OOI BRANCH TO GET NEXT CPX ELEMENT 

MOV #<CPXOPC»400!CPXSTO>.(R3) .•♦♦OOI FORM CPX STORE OPCODE (BKWDS) 

^^.L iSSJ^'^"'' •**9^] ^^ STORE DISPLACED IF 1 ON STACK 

SWAB (R3) .•♦♦OOI STRAIGHTEN OUT THE BVTES 

CLR -(R4) .•♦♦001 SET COSMETIC VALUE OF ZERO 

CALL APPCOD ;^^001 APPEND IT TO CODROL 

INCB INSIZE .•♦♦014 INCREMENT INSTRUCTION SIZE 

:ZAP CPXLST ;^^021 EMPTY COMPLEX EXPR LIST 

MOV #<1»2^1>.CPXSTL ;^^001 INIT COMPLEX STRING LENGTH 

RETURN ;^^001 



000207 



001772 

005005 

005004 

156704 OOOOOOG 

100401 

005205 

005767 OOOOOOG 

001441 

005267 000000' 

100402 



106304 

005767 OOOOOi' 

001 A26 



APPCOD: 
PCR3A: 



PCHOLL: 



: APPEND CODLST 
RETURN 



U! 



21 1 




000000' 

OOOOOOG 00000 r 



000001 ' 



000326 



Hi 



jNEXT 
BEQ 

SAVREG 
CLR 
CLR 
BISB 
BMI 
INC 
TST 
BEQ 
INC 
BMI 

SETPFO 
SETPF1 
ASI.B 
TST 
BEQ 
.IF NOF 

Vi 

.ENDC 

.IF NDT 

MOV 

CMPB 

BEQ 

CALL 

SV 
LL 
MOV 
MOV 
MOV 
MOVB 
BR 

.IFTF 
JMP 



CODLST 
PCR3A 

R5 

R4 

SECTOR. R4 

It 

R5 

PASS 

91 

PCRCNT 

21 



R4 

OBJPNT 

91 

XEDPNC 
fED.PNC.EDMASK 

XREL 

PfRT8L(R4),R4 

CLCSEC.OBJStC 

101 

EVNRLD 

#4»2.R0 

TSTRLD 

tRLDT07,(R2)« 

CICNA«.(R2)« 

CICNAM»2.(R2)» 



ii 



CSFC.O^JSFC 



.•♦♦021 APPEND TO GENERATED CODE LIST 
;^^001 



;^^021 FETCH NEXT ITEM OF GENERATED CODE 
.•♦♦001 END 

.'ASSUME BYTE 

.•GET THE RLD TYPE 

;BRANCH IF BYTE 

; WORD. BUMP TO 1 

;PASS ONE? 

;»»001 YES. JUST UPDATE PC 

.•EXTENSION LINE? 

YES 
;LIS1 COLUMN ZERO 
.•SET PRINT FIFLD ONE 
.'BYTE? 

.•ANY OBJECT LODE CALLED FOR? 
.•♦♦001 NO 

.•PUNCH DISABLED? 
,•♦♦001 YES 



.•GET PROPER TABIF ENTRY 
.•SrctOR (MANGF? 

i*»004 INSURE FVEN RLD POINTER 

.•SOFTEN UP RLD BUFFER 

;SET RLD TYPE 7 

; AND NEW SECTOR NAME 



PCR0L2 



{♦♦OOI 



•*•• 8 1 *•«• 



rr 



■ *<!» A-» 



CXHO MACRO M11C8 U-OEC-77 09:AA PAGE 6-2 



115 
116 
117 
118 
119 
120 
121 
122 
125 
12<. 
125 
126 
127 
128 
129 
»iO 
131 
152 
1S5 
13* 

]n 
JH 

139 

UO 

U1 

U? 

Ua 

44 

43 

46 

147 

148 

U9 

i 

155 
154 
155 
156 

m 

159 
160 
161 

's 



000326 
000334 

000336 
000342 
000346 
000552 
000556 
000556 



000562 
000566 
000572 
000374 
000400 
000404 

000406 
0CO410 
000412 
000416 
000416 



000422 

000421 

00043 



000434 
000440 



026767 
001414 

004767 
012700 
004767 
012722 



OOOOOOG 000002' 10S: 



000522 
000004 
000454 
000010 



016712 OOOOOOG 



004767 
016700 
060500 
166700 
020027 
101566 

110400 
100002 
116700 

004767 

016701 
020167 
001004 



00032^ 
00000 >• 

000006G 
000051 



000001 G 

000404 

000002' 
000006G 



012721 000C05 



000440 016721 OOOOOOG 



006304 

\W 

010100 
166700 

105754 




OOOOOOG 
000006G 

OOOOOOG 
3G 



OQi 
00< 



000016 
000100 



12$: 



13»: 
14$: 



90$: 



1S$! 



161 1 



GCODX: 



CMP 

BEQ 

.IFT 

CALL 

MOV 

CALL 

MOV 

.IFTF 

MOV 

.IF DF 

SUB 

.ENDC 

CALL 

MOV 

ADD 

SUB 

CMP 

BHI 

.IFT 

MOVB 

BPL 

MOVB 

CALL 

.IFTF 

MOV 

CMP 

BNE 

.IFT 

.IF NDF 

BIT 

BEQ 

.ENDC 

MOV 

.IF DF 

MOV 

SUB 

.IFF 

MOV 

.ENDC 

.IFT 

ASL 

BCC 

MOVB 

iiov 

SUB 

MOVB 

TSTB 

MOVB 

NEXT 

MOVB 

BITB 

BNf 

MOV 

MOVB 

BITB 



CLCLOCOBJLOC 
14$ 

EVNRLD 
#2*2.R0 
TSTRLD 
#RLDT10,(R2)* 

CLCL0C.(R2) 

YPHASE 

PHA0FF,(R2) 

OBJDMP 

OBJPNT.RO 

R5.R0 

BUFTBL^BINCHN.RO 

R0./V0BJLEN-1 

13i 

R4.R0 

90$ 

VALUE ♦I.RO 

TSTRLD 

OBJPNT.RI 

RI.BUFTBLtBlNCHN 

16$ 

XEDABS 

fED.ABS.EDMASK 

15$ 

«BLKT03,(R1)t 
yPHASE 
CLfl.0C,(R1) 
PHA0FF.(R1)» 



;D1D PC MOVE ON US? 
; NO 

,•♦♦004 INSURE EVEN RLD POINTER 

;MAKE ROOM 



;SET NEW PC 



.■DUMP BUFFER 
;GET CODE POINTER 
.'COMfUTE NEW END 

;ROOM? 
NO 



;VES. GET RLD SIZE 

.•♦♦001 IF NEGATIVE, RLD IS COMPLEX 

;^^001 GET THE COMPLEX STRING LENGTH 

;^^001 

;BE SURE W^ HAVE ROOM 



NO 



.•FIRST ITEM? 



;ABS OUTPUT? 
; YES 

:N0, SET BLOCK TYPE 

;GE1 CURRENT PC 

; SUBTRACT OUT PHASE OFFSET 



CLCL0C,(R1>^ .'SET NEW PC 



R4 

PCROLI 

SECTOR, (R2)^ 

RI.RO 

BUFTBL^aiNCHN.RO 

R0,(R2)^ 

R4 

PCROLI 

VALUE. -(SP) 

CODLJt 

FLACS.R4 

#CPX0^C.R4 

REIXT 

«CPXGIB,(R2)» 
«GLBFIG.R4 



♦ ♦I 



ANY RID? 

NO 
YES. SET CODE 



; COMPUTE INDEX 

)1 IS RLD FOR COMPLEX EXPRESSION? 
)1 NO, CONTINUE NORMAI PROfFSSING 
)1 PUT • Of rPX ElFMfNtS ON STACK 
M FETCH NEXT COMPLEX tXPR FlfMENT 

1 PUT FLAOb BYTE IN R<i 

1 IS THIS A COMPLEX OP CODE? 

1 YES, StORf n IN RLD 

1 SAVE RLD POiNTtR—fORM CPX STACK 
)1 ASSUME ^STAtR GlOBAl' (OMMAND 
)1IS THIS A GLOBAL SYMBOL? 



CMD 



♦ ♦I 



•••• 



TT 



•••• 



• l_tkkl>-«* AA.li. BA/IC A.m.% 



CQOHD IV^CROM1108 14 


-DEC-77 09:44 


PAGE 6-3 










172 000530 


951^05 






BEQ 


SOS 


.•♦♦001 


NO, TRY RELOCATABLE 


175 000532 


004767 


000136 




CALL 


RLDSYM 


.•♦♦001 


PUT SYMBOL NAME IN RLD 


174 000536 


000416 






BR 


XMORE 


.•♦♦001 


BRANCH TO GET NEXT ELEMENT 


176 00054$ 


105210 




501: 


INCB 


(RO) 


,•♦♦001 


'STACK' COMMAND IS RELOC OR CONSTANT 


105704 






TSTB 


R4 


.•♦♦001 


IS IT CONSTANT? <."nai«nii 


177 000544 


001406 






BEQ 


CONSTX 


.•♦♦001 


YES. BRANCH TO MOVE ITS VALUE 


178 000546 


116722 


OOOOOOG 


RELXI: 


NOVB 


SECTOR. (R2)» 


.•♦♦001 


MOVE INTO RLD. SECTM * IF RELOCATABLE 


!i?8S8^y 


001406 


000040 




BITB 


«RELFLG.R4 


.•♦♦001 
.•♦♦001 


.... OPCODE » IF OPCODE 
IS IT RELOCATABLE VALUE? 






dEQ 


XMORE 


.•♦♦001 


NO, GET NEXT ELEMENT FROM ROLL 


182 000560 


00040* 






BR 


C0NS1X 


,•♦♦001 


YES, MOVE ITS OFFSET 


183 00(562 


1C*'10 




CONSTX. 


INCB 


(RO) 


.•♦♦001 


'STACK' COMMAND IS FOR CONSTANT 


184 000'i64 


11 ■" 


OOOOOOG 


CONSIX. 


MOVB 


VALUE. (R2)^ 


.•♦♦001 


MOVE THE VALUE ... 


185 000570 

186 000574 


IV . 


000001 G 




MOVB 


VALUE«1.(R2)^ 


;^^001 


... INTO THE RLD 


105316 




XMORE: 


DECB 


(SP) 


;^^001 


DECREMENT ELEMENT COUNT 


187 000576 


100336 






BPL 


GCODX 


;^^001 


IF NON-NEGATIVE, GET NEXT ELEMENT 


188 000600 


005726 






TST 


(SP)» 


,•♦♦001 


CLEAN STACK 


169 000602 


005067 


000002G 




CLR 


PF1*2 


.•♦♦001 


SET VALUE TO BE PRINTED TO ZERO 


190 000606 


000412 






BR 


MVOBJ 


.•♦♦001 


BRANCH TO PUT VALUE IN OaJFCT RECORD 


191 000610 


006304 




PCR0L1: 


ASL 


R4 


;ANr SYMBOL REQUESTED? 1 


192 000612 


103002 






BCC 


211 


; NO 




193 000614 


004767 


000054 




CALL 


RLDSYM 


,•♦♦001 


PUT SYMBOL NAMF IN Rl D 


194 000620 


006304 




21$: 


ASL 


R4 


;ANY VALIJF7 1 


195 000622 


103004 






BCC 


22% 


; NO 




196 000624 


116722 


OOOOOOG 




MOVB 


VALUE. (R2)« 


,•♦♦001 


MOVE THE VALUE ... 


197 000630 


116722 


000001 G 




MOVB 


VALUC»1,(R2)» 


,•♦♦001 


... INTO THE RLD 


198 000654 






221: 


.ENDC 








199 000634 






nvOBJ: 






.•♦♦001 




200 000634 


116721 


OOOOOOG 




MOVB 


VALUE. (R1)^ 






201 000640 


005705 






TST 


R5 






202 000642 

203 000644 


001402 
116721 


00000 1G 




BEQ 

MOVB 


29S 

VALUE H.(R1)» 


; BRANCH IF BYTE INSTRUCTION 


^^^ 


»' 


000002' 


29$: 


MOV 


RI.OBJPNT 








PCR0L2: 


INC 


R5 


:MAKE rOiJMT 1 OR ? 1 


206 000656 


0605o7 


OOOOOOJ 




ADD 


RS.CLCLOC 


.-UPDATE 


pr 


208 000670 


016767 


OOOOOOG 000002 


1 


MOV 
SETN7 


CLCLOC.OBJLOC 


;SE1 SEQUEN:t BREAK 
;SET TRUF Rt Tt AN 


209 000672 
210 


000207 




PCR0L3: 


RETURN 








211 000674 

214 

215 000710 


012703 
000004 


OOOOOOG 


RLOSVM: 


MOV 


tSVMBOL.RJ 


;||001 


PUT SYMBOL ADDR IN R3 






.REPT 


4 




PUT 4 BYTES OF SYMBOL IN RLD 








MOVB 


(R3)S(R2)» 


;^^Q01 




000207 






.ENDR 
RETURN 




•'♦♦881 

;^^001 










.MfCT 


IMPLIN.O.GBL.RW 


.•-♦017 








PCRCNT: 


:.BLKW 


.•EXTENSION lINf flAC. 1 






INSIZE: 


! .BIKB 


1 


,•♦♦014 


INSTRUCnON Sl/E (yURP COUNT) 








.BLKB 


1 


,'♦♦014 


" UNUSED — 


\ \ 1 OOOOOO 








.PSECT 


MIXED. D.RW 


.♦♦021 




I25 OOOOOO 

iit 






lOPCOD: 


: .BLKW 


1 


;m021 


SAVES OPCODE VALUE IN 'PROPC 








.ir NDr 


XREL 







•••* I y «t«« 



rrr 



— **^^ •^••jtM 



COOHO MACRO M1108 U-OEC-77 09:AA PAGE 6-A 




233 000002 
23A 000004 

235 000006 

236 0000^0 

237 000012 

238 OOOOU 

239 000016 
2A0 000020 
2A1 000022 
2A2 000024 

243 000026 

244 000030 

245 000032 

246 000034 

247 000036 
248 

249 

250 000000 

251 

252 000001 

253 000002 
254 

255 000004 




270 0007^2 




^76 000746 
i7B 000754 



III 0007? 



000756 



000000 
120004 
140006 
120004 
140006 
160010 
160010 
000000 
000000 
100002 
000000 
000000 
000000 
1600^0 
160010 
100377 



016777 
001441 
16677/ 
001404 



mm 



QQQ756 016777 
000764 166777 



PCRTBL: 



PURE OPURE.O 



.WORD 





.WORD 


120004 


.WORD 


140006 


.WORD 


120004 


.WORD 


140006 


.WORD 


160010 


.WORD 


160010 


.WORD 





.WORD 





.WORD 


100002 


.WORD 





.WORD 





.WORD 





.WORD 


160010 


.WORD 


160010 


.WORD 


100377 


.ENDC 





.•♦♦017 
;REF LABEL 

;RLDT01 
;RLDT02 
;RLDT03 
;RLDT04 
;RLDT05 
;RLDT06 



;RLD11 (.LIMIT) 



RLDT15 
RLDT16 
♦♦001 RLDT17 



.PSECT IMPPAS,D,G8L,RW ;^^017 

.ODD 

OeJSEC::.BLKB 1 

OBJLOC : : .BLKW 1 



;06JECT FILE SECTOR 
;06JECT FILE LOCATION 



«>URE PURE I . I 

.IF NDF XEDPNC 
Pr'CSET::MOVB «-1.0BJSEC 
RETURN 
.ENDC 



;^^017 

.-FORCE SEQUENCE BREAK 



)♦ 



••-OBJDMP-DUMP OBJECT BUFFER 
♦•-RLDDMP-DUMP RELOCATION BUFFER 
••••TSTRLD-TEST RELOCATION BUFFER 



000002' 000006G OBJDMPiiMOV 

BEQ 
000006G 000006G 



111 



OBJPNT,BCNTTBL*BINCHN;POINT TO COUNT SLOT 
OBJINX ;EX1T IF NOT PRE-SH 
SUB BUFTBL^aiNCHN.BCNTTBL»BINCHN .-COMPUTr ACTUAL COUNT 

!EQ II ; EMPTY, FORGE' IT 

WRITE BIN ;^;014 ELSE. WMITC OUT OBJECT BUFFER 



0000 10G 
000004' 



00000*' 

0000 lOG 



.IF I.DF XREL 
FWV BUFTBL^RELCMN.RO 
TST (RO)* ; IGNORE FIRST WORO 
CMP RLDPNT.RO .-ANYTHING IN RLD7 
BLOS OBJ INI ; NO. JUST INIT 
RLDDMPii .'REF LABEL 

.IF NDF NfDABS 

«T flD.ABS.EDMASK ;ABS OUTPUT? 
OBJInT : YES, NO RLD 
.ENDC 
100 MOV RlPPNT.itNIfBL^RFLCHN 
100 SUB BUFTBL«RELCHN.ICNT1BL»RELCHN ;COMPUTt BYTE COUNT 



•••• 



TT 



•*•« 



MAran MIIAM 1i..ftt<.9y nOiAl BAAI Aait 



1 



Ca>' HACRO Ml 108 U-OEt-77 09: AA PAGE 6-5 



286 000772 

287 

288 001002 

289 

290 001010 

291 001016 
292 

293 001 02A 
29A 

295 001026 

296 001030 

297 001 03A 

298 001 OAO 

299 0010AA 

300 001046 

301 001052 
30? 001056 
303 001062 

^^\^> 

306 001 07A 

307 001100 
308 

309 

ilO 000000 

311 000000 

312 000002 
313 
3U OOOOOA 



315 



016767 000006G 000002' OBJ INI; 



016767 
062767 

000207 

0100A6 
066700 
166700 
020027 
10U02 
00A767 
016702 
062667 
000207 
032767 
0OU02 
00A767 
000207 



000001 



00001 OG OOOOOA* 
000002 000004' 



000004' 
00001 OG 
000052 

177640 

000004' 

000004' 

000001 

177612 



OBJ INK ! 
TSTRLD! 



It! 



000004' EVNRLD; 



11: 



CPXSTL: 
OBJPNT ; 

RLOPNT: 



tWRITE 

.IFTF 
iMOV 

.IFT 

MOV 

AOD 

.Ii'TF 

RETURN 

.IFT 
:M0V 

ADD 

SUB 

CMP 

BLOS 

CALL 

MOV 

ADD 

RETURN 

BIT 

BEQ 

CALL 

RETURN 

.IFTF 

."SECT 
: .BLKW 
: .BLKy 

.IFT 
: .BLKW 

.ENDC 

.END 



REL ,•♦♦014 ELSE. WRITE OUT RLD BUFFER 

BUFTBL^BINCHN,06JPNT;SET BUFFER POINTER 

BUFTBL^RELCHN.RLDPNT 

«2,RLDPNT .-RESERVE WORD FOR BLOCK TYPE 



RO.-(SP) 

RLDPNT.RO 

BUFTBL^RELCHN.RO 

RO,«RLDLEN 

1$ 

OBJDMP 

RLDPNT.R? 

(SP)^.RLDPNT 

#1.RLDPNT 

1S 

OBJDMP 



.•SAVE BYTE COWT 



IMPURE. D.RW 

1 

1 



.ROOM TO STORE? 

; YES 

.•NO. DUMP CURRENT 

.•RETURN WITH POINTER IN R? 

.UPDATE POINTER 

;^^004 IS RID POINTER ODD? 

.•♦♦004 NO. JUST RETURN 

.'♦♦004 YES. DUMP CURRENT BUFFER 
;^^004 



♦ ♦017 

♦♦001 LENGTH OF COMPLEX STRING 



•t*« K \ •••• 



>*_«« l\A.i.£ AAA* A-A 



CQOHO MACRO M11C8 
SVI«OL TABLE 



U-OEC-77 09:AA PAGE 6-6 



AM.DECc 
An.OEF> 

AM.INC> 

AM.NDX* 

AK.PC « 

AM.REL* 

APPCOO 

APPENDIX 

ASTFLC" 

B1NCHN> 

BLKT01' 

BLKT02> 

BLKT05> 

BLICTM> 

BLKT05> 

BLKT06« 



BUFTBl- 
CH.AOO> 
CH.ANO- 
CH.BSL- 
CH.COL« 
CH.CCM> 
CH.DIV- 
CH.DOL- 
CM. DOT* 
CH.EQU- 
CH.HSH* 
CH.INO- 
CH.IORs 
CH.IAB- 
CM. LP • 
CM.MUL* 
CM.PCT. 
CM.QM > 
CM.QT«« 
CH.RAB> 
CM.RP . 
CM.SMC> 

. ABS. 

PURFI 

IMPIIN 

MIXED 

DPURE 

IMPPAS 

IMPURE 



OOOOAO 

000010 

000027 

000020 

000060 

000007 

000067 

0U0U6RO 

♦•*♦•• GX 

0001 1A 

000006 

000001 

000002 

000003 

OOOOOA 

000005 

000006 

000020 

•••••• GX 

000053 
0000<>6 
000134 
000072 
000054 
000057 
000044 
000056 
000075 
000043 
000100 
000041 
000074 



77 
000042 
000076 

m\ 

000000 
000000 

oono? 




000006 



CM.SUBs 
CH.UAR- 
CH.XCL« 
CLCLOC" 
CLCNAM* 
CLCSEC* 
CMOCHN>= 
002 CNTTBL' 
CODLST* 
CONS IX 
CONr,lX 
CPt « 
fPJ;ADD» 
CPXANO" 
CFXCC»« 
rf»XCON« 

:pxdiv» 

CPXrLG« 

CPXGLB- 

CPXIOR 

CPXLST 

CPXMUL- 

CPXNEG" 

CPXOPC« 

CPXREL' 

CPXSDS> 

CPXSTL 

CPXSTO- 

CPXSUB* 

CR 

CSTACC* 

CSTALO* 

CSTFLG" 

CSTGBL' 

CSTMEM> 

CSTREL* 

CSTTYP* 

DFFFIG« 

DFGFLG* 

DIG.O > 

000 
001 
002 
003 
004 
005 
006 
007 



000055 
000136 
000047 
****** 

****** 
000000 



GX 
GX 
GX 

GX 
GX 



000562R 
000564R 
U00120 
000001 
000005 
000011 
000020 
000004 
000200 
000016 
000006 
■ ****** GX 
000003 
000010 
000010 
000017 
000013 
OOOOOORG 
000012 
000002 
000015 
000020 
000004 
000050 
000100 
000001 
000040 
000200 

0OUO10 

000020 
000060 



DIG. 9 « 
EVNRLD 
FF 

FLAGS ' 
GCODX 
GLBFLG 
GSDTOO 
GSDT01 
GSDT02 
002 GSDT03 
002 GSDT04 
GSDT05 
GSDT06 
ILVL 
'NSIZE 
LBLFLG 
LET. A 
LET.B 
LET.C 
LET.D 
LET.E 
LET.F 
LET.G 
LET.O 
LET. 2 
LF 
007 LINLEN 
LPP 

LSTCHK 
LSTLEN 
LST.KB 
LST.LP 
MAXCMN 
MPFFLG 
MVC8J 
NEXT 
NUtSEC 
OBJDMP 
OBJINI 
OBJ 1 NX 



000071 

001064R 

000014 

****** GX 

000474R 

000100 

000000 

000400 

001000 

001400 

002000 

002400 

003000 

000001 

000002RG 

000002 

000101 

000102 

000103 

000104 

000105 

000106 

000107 

000117 

000132 

000012 

000204 

000074 

000004 

000204 

000001 

000002 

C00014 

000004 

0006 54R 

****** GX 

000004 

00071 2RG 

001002RG 

001024R 



002 



002 



003 



002 



002 
002 
002 



OBJLEN* 

OBJLOC 

OBJPNT 

06JSEC 

PASS « 

PCRCNT 

PCROLL 

PCR0L1 

PCR0L2 

PCR0L3 

PCRTBL 

PCR3A 

PFI 

PSTFLG« 

REGFLG* 

RELCMN' 

RELFLG* 

RELXI 

RLDDMP 

RLDLEN* 

RLDPNT 

RLDSVN 

RLDTOO* 

RLDTOI" 

RLDT02> 

RL0T03* 

RLDT04' 

RL0T05* 

RLDT06* 

RLOT07* 

RLOTIOs 

RLDTII* 

RL0n5» 

RL0T16- 

RL0T17* 

RSX11M* 

RItllM* 

SAVREG« 

SECTOR* 

SE1PF0* 



000052 
000002RG 
000002RG 
000001 RG 
****** GX 

OOOOOORG 
0001 60RG 
00061 OR 
000654R 
000672R 
OOOOOORG 
0001 56R 
****** GX 

000050 

000001 

000010 

000040 

000546R 

000756RG 

000052 

000004RG 

000674R 

000000 

000001 

000002 

000003 

000004 

000005 

000006 

000007 

000010 

000011 

000015 

000016 

000017 

000000 

000000 

****** GX 

****** GX 

****** GX 



ERRGAS DETECTED) 

Ki2Iil^^ 5221* ^M?i '*?* *^" ( 14 PAGES) 
DtNAMIf MEMORY I 1V4<i WORDS ( 60 PAGFS) 
ELAPSED TIMT: 00 • 00 i 31 

COOH0.l50,S03COOM0/-5P*t3P.103RSXPAR.HPARA«.MCJ0CM.0tNMt.FL6Df.C0DMD 



002 
005 
002 



SETPFIr 

006 SETXPRo 

007 SMLCHN» 

006 SMLLEN*: 
SPACE 

003 SRCCHN 
002 SRCLEN 
002 STCODE 
002 STLLEN' 
SUBMAC 
SYMBOL 
TAB 

TMPCNT 
TSTRLD 
TTLLEN 
VALUE 
VT 
002 XBSRCH 
002 XCRFF 
XEDABS 

007 XEDCDR 
002 XEOCRF 

XEDFPT 

XEDLC 

XEDPir 

XEDPNC 

,<FLTG 

XMORE 

XOPEXP 

XRGERR 

XSUBD 

X/ERR 

X45 

YQCMO 

7AP 

/APCPX 

ILSCNT 

ILSPNT 

lOPCOO 

MRlTEo 



GX 
GX 



GX 



****** 

000012 

000120 

000040 

000002 

000204 

OOOOOORG 

000100 

000001 

****** GX 

000011 

000014 

001026RG 

000040 

****** 

000013 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

0005 74R 

000000 

000000 

000000 

000000 

000000 

000000 

****** GX 

0001 26RG 

****** GX 

****** ox 

OOOOOORG 
****** GX 



002 



002 



002 



002 



004 



•••• L 1 •«•• 




•*tt M ) •««• 



rkiMi MAtkn Mlirui U.b»r<7/ nOtU »Aaf 4 



CRFFIL MACRO M1108 U-OEC-77 09:AA PAGE A 



»# 



.TITLE CRFFIL 
.IDENT /01/ 

COPYRIGHT (C) 1975.1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 01 

WRITTEN BY! 

C.A. D'ELIA 



01-NOV-75 



022 



(CREF) 



.IF NDF KCREF .•♦♦02? 

.MCALL FDAT$R.FD0P»R.C8 * i**022 
CSH ; ^*022 

PURE PUPfl.l J ♦♦022 

••-CRFSET-»-SET ffffF OPTIONS 



CRFSETir 



2001 1 



SODS I 



CALI 


ssr 


BFQ 


SCANW 


CRFROI. 


UQ 


CRFSET 


BIS 


SYMBOL ♦2. CRMASH 


BR 


CRFSET 


TST 


CRMASK 
W0» 


BNF 


MOV 


«CRlNli. CRMASK 


RETURN 






IT OPTION ARGUMENT 

F to NONI ItfT 

HfCK »0R AH&UMENl UGAUTY 
If FO INVAllD—lGNORt 
COPY MASK Bits INtO CO.-^tROl WORD 
RlliAT fO'" All Sine into OPTIONS 
WillP ANY l/PTIONS SPFtlfltD? 
|F NE YES 
IF NOT. SET DEFAULT OPtlONS 



*•«• N 1 •••• 



CRfFIL MACRO Ml 108 U-OEC-77 09:^4 PAGE A-1 



•♦-lOPCRF-»-OPEN CRF OUTPUT FILE 



SOPCRF ; 



IOCS I 



?00l: 



000001 



CLR 
BIT 
BEQ 

A(. 

CALL 

K.v 

MOV 

ADD 

MOV 

MOV 

soe 

CLR 

MOV 

FDATtR 

FDOPtR 

MOV 

MOV 

CALL 

RE ruRN 

.INDC 



.END 



FDBTBL«CRFCHN ;**Q2} ASSUME CRE* OUTPUT NOT DESIRED 
«CRMSK.CSIBLKK.MKW1 ,'♦♦022 CREF DESIRED? 
POOS ;ttO?2 IF EQ NO 
FDBTBltLSTCHN.RI :*>022 GET ADDR OF LST FILE FDB 
»F.FNB«N.FNAM.R1 :**022 POINT PAST FILE ID 
tCTFDB :**022 GET NEXT AVAILABLE FDB 
RO.FDSTBL^CRFCHN :**022 USE IT FOR THE CRF FILE 
R0.R2 :>*022 COPY ADDR INTO R2 
lfF.FNB»N.FNAM,R2 .•♦♦02? POINT PAST THE FILE ID 
«<S.FNB-6>/?,R5 ,♦♦022 GET NUMBER OF WORDS TO COPY 
(R1W.(R2)^ .'♦♦022 CRF FILE WILL HAVE SAVE NAME. 
R3,106l ;^^022 ETC AS THE LST FILE 
F.FNBtN.FVER(RO) :^^022 EXCEPT USE DEFAULT VERSION 
#*RCRF,F.FNB^N.FTVP(RO) .•♦♦022 AND FILE TVPC .CRF 
RO.fR.FIX ;^^022 FILE HAS FIXED LENGTH RECORDS 
R0.#7 .'♦♦022 USE LUN 7 

#CRKHN.R1 .•♦♦022 PUT CRF SOFTWARE CHANNEL # IN R1 
«CSIM5.R3 .•♦♦022 SET ERROR MESSAGE IN CASE OF ERROR 
»OPNWT .•♦♦02| OPEN OUTPUT FILE 

{♦♦022 



t*M I I «••« 



TMPCNT" OOOOU 
XBSRCH> 000000 



XCREF 

XEDABSa 

XEDCDR' 



CRfflL MACRO M1108 U-OEC-/? 09:AA PAGE A-2 
SYMBOL TABLE 

BINCHN= 000006 RELCHN' 000010 

CMOCHN": 000000 RSX11M> 000000 

ILVL ' 000001 Rtt11M> 000000 

LSTCHN" OOOOOA SMLCHN« 000012 

MAXCHN- OOOOU SRCCHN' 000002 

MUtSEC* OOOOOA SUBMAC' 000001 

. ABS. 000000 000 
000000 001 
CRRORS DETECTED: 

VIRTUAL MEMORY USED: 2280 WORDS ( 9 PAGES) 
DYNAMIC MEMORY: 157AA WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:U 
CRrFIL.[30.30]CRFFlL/-SP«C30J0]RSXPAR,MC10CH.GENMC.CRFFIL 



000000 
000000 
000000 



XEDFPT* 000000 
XEDLC « 000000 
XEOPIC« 000000 
XEDPNC* 000000 
XFLTG « 000000 



XOPEXP" 000000 
XRGERR> 000000 



XSUBD : 
XZERR = 
XA5 » 



000000 
000000 
000000 



•••• c t **•• 




•••t D I •••• 



CRFIO MACRO mi08 U-DEC-77 09:^ PAGE 3 



.TITLE CRFIO 
.IDENT /01/ 

COPYRIGHT (C) 1975.1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 

INCLUSION UF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 

ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 

MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 

SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 

TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHKH IS NOT SUPPLIED BY DEC. 



VERSION 01 

WRITTEN BY: 
t C.A. D'ELIA 

t 



01-NOV-75 



022 



(CREF) 



.IF NDF XCREF 
PURE PURE I . I 



t**022 
;»»022 



••-CRFDEF-*-OUTPUT CREF DEFINITION RECORD 
••-CRFREF -"-OUTPUT CREF REFERENCE RECORD 



CRFDEFii 



MOVB «CRIDEF,tCRATT 



CRFREF ! I 



toot I 



?00li 



TST PASS 

BEO )00l 

TSTB CRFFIL 

6EQ 500t 

BIT #ED.CRF.EDMASK 

BNE 5001 

MOV RO.-($P) 

MOV CRMASK,-(SP) 

MOV fiCRTBL.RQ 

CMPB RQLNDN.iRO.W 

BEO ;ooi 

ROR (SP) 

BR 1001 

ROR (SP)* 



••t* I 2 •«•• 



i\i 



SET CRF DEFN FLAG 



THEN 



IF THIS rS FIRST PASS. THEN 

JUST RETURN 

OR IF NO CRF FILE. 

JOSt RETURN 

IF CREF OUTPUT DISABLED? 

IF Nt YES 

ILSt. SAVE RO 

COPY CREF OPTIONS MASK 

GET ADDR OF CREF LIST TABLE 

DOES FNTRY MATCH CURRENT LIST? 

ir FQ VFS 

SMIFf CONTROL MASK tOR THIS OPTION 

KHP SEARCHING FOR LIST MATCMUf 

SHIFT CONTROL MASK FOR THIS OPTION 



CRFIO MACRO mi 08 U-DEC-77 09:*A PAGE 3-1 



3001: 
400t: 
soot: 



000001 



BCC 

sue 

MOVB 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

MOVB 

BICB 

TSTB 

BPL 

BISB 

BISB 

tWRITE 

MOV 

CLRB 

RETURN 



.ENDC 



.END 



AOOS 

«tCRTBLH,RO 

RO.SCRFMT 

nCRSVM.RO 

SYMBOL. (RO)t 

SYMBOL«2,(R0)« 

PAGNUM.(RO)t 

LINNUM,(RO)t 

VALUE, (RO)t 

fLA6S,-(SP) 

<rCRSDRF.(SP) 

CRFDFL 

300t 

«CRIDRF,(SP) 

(SP)*.(R0) 

CRF 

(SP)t.RO 

tCRATT 



♦ ♦022 

♦ ♦022 

♦ ♦0?2 

♦ ♦022 

♦ ♦022 

♦ ♦022 

♦ ♦022 

♦ ♦022 

♦ ♦022 
♦♦022 
♦♦022 

♦ ♦022 

♦ ♦022 

♦ ♦022 

♦ ♦022 

♦ ♦022 

♦ ♦022 

♦ ♦022 

♦ ♦022 



.•♦♦022 



IF CC THI* OPTION NOT ENABLED 
CALC THE OPTION'S TABLE OFFSET 
USE IT AS FORMAT NUMBER 
GET ADDR OF CRF RECORD BUFFER 
STORE THE SYMBOL NAME 

STORE PAGE NUMBER 

STORE LINE NUMBER 

STORE VALUE 

COPY SYMBOL'S FLAGS 

ASSUME NO DESTRUCTIVE REF 

CHECK FOR A DESTRUCTIVE REF 

IF PL NOT TRUE THIS CASE 

SET DESTRUCTIVE REF FLAG 

MERGE FLAGS INTO BUFFER 

OUTPUT THE CREF RECORD 

RESTORE RO 

CLEAR CREF RECORD ATTRIB BYTE 



•#•• f I %••• 



*te» ■«» 



MA»^M M««AA «i..Kft^-.VV MktA.A. MAAM 1«S 



CRFIO MACRO MHOS 
SYMBOL TABLE 

BINCHN> 000006 
CMUCHN« 000000 
ILVL « 000001 
LSTCHN« 000004 
MAXCHN« OOOOU 
NU$SEC> OOOOOA 



U-DEC-77 09!AA PAGF 3-2 



RELCHN> 000010 
RSX11M> 000000 
R$$11M> 000000 
SMLCHN' 000012 
SRCCHN> 000002 
SUBMAC* 000001 



TMPCNT« OOOOU 

XBSRCH' 000000 

XCREF « 000000 

XEDABS* 000000 

XEDCDR> 000000 



XEDFPT« 000000 
XEDLC = 000000 
XEDPIC' 000000 
XEDPNC- 000000 
XFLTG « 000000 



XOPEXP* 000000 
XRGERR* 000000 
XSUBD s 000000 
XZERR • 000000 



X4S 



000000 



. Aba. 000000 000 
000000 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: S76 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 157<i4 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:06 

CRF 10. C30,30]CRF10/-SP*C30.10]RSXPAR,MCIOCH, CRFIO 
< 



*••• I ••%• 



rr 




I KAS^A 



MlcKn HItAB «i._itBr_«* M>>i.t llAAl A. 



DATDR MACRO Ml 108 U-DEC-77 09:A5 HA6E A 



.TITLE 
.IDENT 



DATDR 
/09.01/ 




COPYRIGHT (C) 1972,1977 

DIGITAL EQUIPMENT CORPORATION, Hf NARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LlLtNSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBIUTY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 09.01 
B. BOWERING 



MODIFIED BY! 



D.N. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
H.A. 
C.A. 



CUTLER 
D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 
NICHOLS 

d'elia 



10 



•FEB-73 
h-SEP-75 

15-NOV-75 
25-JAN-7* 
2?-MAR-7A 
07-APR-7-i 
18-JUN-7<i 
20-OCT-75 



002 
008 

Oil 
OU 

021 



(VIRT MEMORY) 



C.A. D'ELM 22-NOV-77 

CD051 - MISC (.SBTTL, /PA. .BLKW. CMD LINE) 



•*-IDENT-PROGRAM IDENTIFICATION 



PURE PURE i . I 



*767 



17, 

6o 

OOOOi 



IDENT n CALL 
CLR 



iff ^ 



OG 
AG 



0OOOS6 012722 00)000 



111 NEXT 

MOV 
CMP 
BLO 

.IF NDF XRFl 
MOV «GSDT06.(R2)* 



RAD)0 

•lspnt 

«PRGIDN.R2 

codlSt 

VALUE. (R2)» 
R2.»PRGIDNU 



1**0)7 

.'TREAT AS RADSO 

;m021 INIt POINTER TO START OF LIST 

; AND TO IDENT BLOCK 

.'•♦021 FFTtM NEXT ITEM OF CODE 

;STORl IT 

;PROCtSStD TWO WORDS? 

; NO 

jVES. SET 6SD TYPE 



••*• 



TT 



•••• 



I ^A*^^ «&AAA«k 



!*_«« AA.xa AAAA A. 4 



DATDR 



MACRO Ml 108 U-OEC-77 09:A5 


58 






S9 000042 






60 000052 


000207 




61 






67 000054 
68 

69 000054 






004767 


OOOOOOG 


70 000060 






71 000064 


001001 




72 000066 


005214 




73 000070 






74 000074 

75 000076 


060012 




0(6203 




76 000100 


1(3775 




77 000102 


0( 0207 




78 000104 


6702 


OOOOOOG 


79 000110 


2767 


000012 0000 


80 000116 






81 000122 


001002 




82 000124 


012714 


000010 


83 000130 






84 000134 

85 000140 


020027 


000002 


001412 




86 000142 


020027 


000012 


87 000146 


001407 




88 000150 

89 000154 


020027 
001404 


000010 




90 000156 






91 000164 


010200 




92 000166 
95 000172 


010067 


OOOOOOG 
OOOOOOG 


000167 



PAGE 4-1 



.ENDC 

ZAP CODLST 

RETURN 



**-BLKB-eLOCK BVTE/WORD 
**-RADIX-CONVERSION RADIX 



.'♦♦021 EMPTV THE CODE LIST 



BLKB:: 



99 000176 005503 



05^2 
142> 
0527 
11440 




000206 



000074 





CALL 


SETPFO 




EXPR 






BNE 


It 




INC 


(R4) 


It: 


ABSTST 




21: 


ADD 


RQ,(R2) 




ASR 




BCS 


2t 




RETURN 




RADIX: 


: MOV 


CRAD1X,R2 




MOV 


#10..CRADIX 




EXPR 






BNE 


It 




MOV 


«8..(R4) 


111 


ABSTST 






CMP 


R0,#2. 




BEQ 


2t 




CMP 


R0.*10. 




BEO 


2t 




CMP 


R0.«8. 




BEQ 


2t 




ERROR 


A 




MOV 


R2.R0 


2t: 


MOV 


RO.CRADIX 
SETPn 




JMP 



♦♦Oil R3«0 IMPLIES ".BLKB" 
♦♦Oil R3«1 IMPLIES ".8LKW" 
PRINT THE LOCATION FIELD 
♦♦Oil EVALUATE EXPRESSION 
BRANCH IF NON-NULL 
NULL, MAKE IT ONE 
MUST BE ABSOLUTE 
UPDATE PC 
WORD? 

YES, DOUBLE VALUE 

SAVE IN CASE OF FAILURE 

♦♦014 EVALUATE EXPRESSION 
♦♦014 SKIP IF NOT NULL 
♦♦014 ELSE, USE DEFAULT OCTAL 
♦♦014 INSURE ABSOLUTE EXPRESSION 

♦ ♦014 LEGAL RADIX -- ^-MP 

♦♦014 LEGAL RADIX — SKIP 

♦ ♦014 

♦♦014 LEGAL RADIX -- SKIP 

♦♦014 ERROR IF NOT 2, 8., OR 10. 



; CD051 



« 

;■ 



**-RAD!0— GiNtRATE RAD2X-50/ASCM/ASCiZ DATA 



RAD50:: DEC 



111 
21 1 
SI I 



CALL 

MOV 

BEQ 

CMP 

BEQ 

GETCHR 

MOV 

BEO 

CMP 

BEO 

TST 

RMt 



R5 



R5.R2 
Ri.fCH.LAB 

loi 

R5.R0 
Rj.R? 

91 



.IF NDF XEDLC 



R5«0 IMPLIES 
R5«1 IMPLIES 



EXPRESSION? 



.•♦♦Oil R3— 1 IMPLIES 

.•♦♦Oil 

.•♦♦Oil 

;INtT REGS 

:5tT TERMINATOR 

.EfRfM IF EOL 

NO. GET NEXT CHAR 
SEt IN WORK REGISTER 
ERROR IF EOL 
TERMINATORS 

YES 
NO 
BRANCH IF RAD50 



".RAD50" 

.ASfll" 

.ASCir* 



••*• 



J i •••• 



K&ai^M MArBA Ml in* ti.-l\kr-VT naii,t BAAt k.m% 



1 



OATOR MACRO MIIOB U-OEC-77 09:45 



15 

\i 

18 

19 000236 

20 0002AO 

21 0002A4 

22 000250 

23 000252 

24 000256 

25 000262 

26 000264 

27 000266 

28 000274 
76 



^ 



31 000302 

32 000304 

33 000306 

34 000310 

35 000514 

36 000316 

37 000320 

38 000324 
SV 000326 
40 000332 

timi 

43 000340 
4^ 000344 




000402 

004767 
000762 

105765 
003350 
000403 

005000 
005703 
001446 
100014 
005701 
001443 
004767 
000760 
011446 

012614 
004767 
000751 
005705 
100020 
020027 
105405 

010046 
011400 
004767 
062600 
010014 
005201 
020127 
001007 
010014 



5001 

5014 

207 



000001 



000064 
OOOOOOG 



000020 

000002 
000050 

OOOOOOG 
000005 



PAGE 4-2 










MOV 


CHRPNT.RO 
(R0),R0 
#177^00. RO 


FAKE FOR OVLAY PIC 




MOVB 


FETCH POSSIBLE LOWER CASE 




BIC 


CLEAR POSSIBLE SIGN BIT 




.ENDC 








BR 


4S 




9$: 


TSTR50 




TEST RADIX 50 


4«: 


CALL 


20$ 


PROCESS THE ITEM 




BR 


3$ 


BACK FOR 4N0THER 


51: 


6ETNB 




BYPASS TERMINATOR 


6$: 


TSTB 


CTTBL(R5) 


EOL OR COMMENT? 




BGT 


1$ 


NO 




BR 


7$ 




8$: 


ERROR 


A 


ERROR. FLAG AND EXIT 


7$: 


CLR 


RO 


YES, PREPARE TO CLEAN UP 




TST 


R3 


TEST MODE 




BEQ 


24$ 


NORMAL EXIT IF .ASCII 




BPL 


20$ 


ONE ZERO BYTE IF .ASCI7 
.RAD50. ANYTHING IN PROGRESS? 




TST 


R1 




BCQ 


24$ 






CALL 


20$ 


YES, PROCESS 




BR 


6$ 


LOOP UNTIL WORD COMPLETED 


10»: 


MOV 


(R4),-(SP) 


'•<EXPRESSION>". SAVE PARTIAL 




ABSTRM 




ABSaUTE TERM, SETTING RO 




MOV 


(SP)*,(R4) 


RESTORE PARTIAL 




CALL 


20$ 


PROCESS BYTE 




BR 


6$ 


TEST FOR END 


20t: 


TST 


R3 


•RAD50? 




BPL 


22% 


• NC 




CMP 


R0,#50 
2li 


;YES. WITHIN RANGE? 
; YtS 




BLO 




ERROR 





',**QH ERROR — NON-RADSO CHARACTER 


21$! 


MOV 


RO.-(SP) 


ISAVE CURRENT CHAR 




MOV 


(R4).R0 
rAJLR50 


;GET PARTIAL 




CALL 


; MULTIPLE 




ADD 


(SP)»,RO 
R0.(R4) 


;ADD IN CURRENT 




MOV 


iSAVE 




INC 


R1 


;BUMP COUNT 




CMP 


R1.f3 
24i 


;WORD COMtHETE? 




BNE 


; NO 


221 1 


MOV 


R0,(R4) 


(STUFF IN VALUE 




SETIMM 




(CONVERT TO OBJ MOD! 




ST CODE 




(Stow IT 


2SI> 


CLR 


R1 


(CLEAR LOOP COUNT 




CLR 


(R4) 


( AND VALUE 


241 1 


RETURN 







.END 



tt«* R I •••• 



tx-tkM»-mm AA.j.ft AAiu i..l 



DATDR MACRO MHOS 
SYMBOL TABLE 



U-OEC-77 09:<.5 PAGE 4-3 



ABSTRM' 
ABSTST 
AM.OEC 
AM.DEF 

AM. INC 

AM.NDX 

AH.PC 

AM.REL 

ASTFLG' 

BLKB 

6LKT01 

BLKT02 

BLKTOl 

BLKT04 

BLKT05 

BLKT06 

CH.AOD 

CH.ANO 

CH.BSL 

CM. COL 

CH.COM> 

CH.OIV 

CH.OOL 

CM. DOT 

CH.EQU 

CH.HSHi 

CH.INO 

CH.IOR 

CM. LAB 

CM. IP 

AD <) • 



GX 
GX 



OOOCAO 
000Q10 
000027 
000020 
000060 
000007 
000067 
0001 U 

000002 
000003 
000004 
000005 
000006 
000053 
000046 
000134 
000072 
000054 
000057 
000044 
000056 
000075 
000043 
000100 
000041 
000074 
000050 



002 



CH.MUL 

CM.PCT 

CH.QM 

CH.QTM 

CH.RAB 

CH.RP 

CM. SMC 

CH.SUB 

CH.UAR 

CH.XCL 

COOLST 

CPXADD 

CPXANO 

CPXCOn 

CPXCON 

CPXOIV 

CPXFLG 

CPXGLB 

CPXIOR 

CPXMUL 

CPXNEG 

CPXOPC 

CPXREL 

CPXSDS 

CPXSTO 

CPXSUB 

CR 

CRADIX 

CSTACC= 

CSTALU- 

CSTFIG= 



E45 
77 
000042 
000076 
000051 
000073 
000055 
0001 36 
000047 

****** QX 

000001 
000005 
000011 
000020 
000004 
000200 
000016 

000003 
000010 
000010 
000017 
000013 
000012 
000002 
000015 

GX 

000020 
000004 
000050 



CSTGBL- 

CSTMEM« 

CSTREL" 

CSTTVP 

CTTBL 

DEFFLG 

DFGFLG 

DIG.O 

DIG. 9 

ERRBTS 

ERR. A 

ERR.Q 

EXPR 

FF 

GET CNR 

GETNB 

GLBFLG 

GSDTOO 

GSDT01 

GSDT02 

GSDr03 

GSDT04 

GSDT05 

GSDT06 

IDEN1 

ILVL 

LBLFLG 

LET. A 

Lcl.B 

LET.C 



000000 
000000 
PURE I 000420 
ERRORS DETECTED! 



000 
001 
00? 







VIRTUAL MEMORY USED! 2710 WORDS ( 11 PAGES) 
DYNAMIC MEMORY; 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:20 
OATOR.t30,301DATDR/-SP»r30.10]RSXPAR.GENMC.FLGDF.DATDR 



GX 



000100 
000001 
000040 
000200 
****** GX 

000010 

000020 

000060 

000071 

****** GX 

****** GX 

****** GX 

****** 

000014 

****** GX 

****** GX 

000100 

000000 

000400 

001000 

001400 

002000 

002400 

003000 

OOOOOORG 

000001 

000002 

000101 

000102 

000103 



LET.D 
LET.E 
LET.F 
LET.G 
LET.O 
LET.Z 
LF 

LST.KB 
LST.LP 
MDFFLG 
MULR50 
NEXT 
NUISEC 
PRGIDN 
PSTFLG 
RADIX 
RAD 50 
REGFLG 
RELFLG 
RLDTOO 
RLDT01 
RLDT02 
RLDT03 
RLDT04 
002 RLDT05 
RLDT06 
RIDT07 
RLDT10 
RLDTII 
RLDTIS 



GX 
GX 



000106 

000107 

000117 

000132 

000012 

000001 

000002 

000004 

****** 

****** 

000004 

****** GX 

000050 

0001 04RG 

0001 76RG 

000001 

000040 

000000 

000001 

000002 

000003 

000004 

000005 

000006 

000007 

000010 

000011 

000015 



002 
00? 



RLDT16> 

RLDT17= 

RSX11M« 

R$S11M« 

SETIMM« 

SETPFO" 

SETPF1« 

SPACE « 

STCODE= 

SUBMAC< 

TAB « 

ISTR50» 

VALUE ■ 

VT 

XBSRCH* 

XCREF « 

XEDABS- 

XEDCDR« 

XEDFPT« 

XEDLC « 

XEDPIC- 

XEDPNC 

XFLTG 

XOPFXP 

XRGERR 

XSUBD 

XZERR 

X45 

ZAP 

tLSPNT 



000016 
000017 
000000 
000000 
****** 

****** 

000040 
****** 

000001 
00001 1 

****** 
****** 

000013 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
****** 



GX 
GX 
GX 

GX 



GX 
GX 



GX 
GX 



•••• I i •«•• 




••*• n 2 ••«• 



•lAfke MA^ft. •«<»« \LmhMtmyr ooi4« PAdr & 



ENBOC MACRl ""Oe U-DtC-77 09:A5 PAGE A 



! 




A6 

«7 000000 

Aa 

A9 000000 
JO OOOOOA 
90006 



00UA1 




OOV67 0000000 



.TITLE ENBDS 
.IDENT /07/ 



COPYRIGHT (C) 1972,1976 

DIGITAL EQUIPKNT CORPORATION. MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM " MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THFREOF. MAY NOf BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON FXCEP' FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMEN. BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 07 
B. BOWER ING 



MODIFIED BVt 



D.N. 
C.A. 



CUTLER 7-FE8-7? 



D'ELIA 
C.A. D'ELIA 
C.A. D'ELIA 
H.A. NICHOLS 
C.A. d'EUA 
C.A. D'EUA 



12-NOV-75 
?S-JAN-7A 
07-APR-7A 
1I-JUN-7A 
01-AUO-i'A 
PO-OCl-75 



006 

Oil 

on 

017 
017 
0?1 



(VIRT MEMORY) 



; ••-fNABJ 



PURE PURE 1. 1 ,•♦♦017 

NASlf/DISABlF FUNfllON 



EMAIL It 



Ml 



GSARO 

BEO 

SCANW 

II? 
11 



101 
EDTROL 

ROJI 
IXWIG 



;^^0n RJ«0 IMPLIES ".ENABL". 
M.Oil R5-1 IMPLIES ".DSAfll' 
OCT SYMiOlir ARGUMTN! 



^♦♦6n GET SYMBOL If ARGlJMt 
l**Qi\ JUST RETURN If NULL 

t%nm m tabif 

; NOT THfRf. F««ROn 
itOMPUU Bit POSmoN 



I'^ALLED F*)nM COMMAND StRINQ? 



•*•* M f"*,** 



ENBDS MACRO MHOS U-OtC-77 09: A5 PACE 4-1 



58 000056 

59 000040 

60 000044 

61 000046 

62 000052 

63 000054 

64 000060 

65 000062 

66 000064 

67 000070 

68 000074 

69 000076 

- - :]?? 

110 



001403 
050267 



OOOOOOG 




030267 OOOOOOG 

001352 

040267 OOOOOOG 

005705 

001402 

050267 OOOOOOG 

016746 000002G 

005703 

004736 

000737 

000207 



000001 





BEQ 




BIS 




BR 


3t: 


BIT 




BNE 


4t: 


BIC 




Tsr 




BEQ 




BIS 


51: 


NOV 




TST 




CALL 




W 


nt 


ERROn 


lot: 


RETURN 



3t 

R2.EDMCSI 
41 

R2.EDMCSI 

ENABL 

R2.EDMASK 

5t 

R2.EDMASK 

SY«0L*2.-<SP) 

R3 

•(SP)« 

ENABL 

A 



NO 
YES, SET DISABLE BITS 

AND BYPASS TEST 
OVER-RIDDEN FROM CSI? 
IF NE YES-IGNOR 
NO. CLEAR SELECTED BIT 
ENDBLE? 

YES. LEAVfc- IT CLEAR 
♦t017 NO. SET THE BIT FOR .DSABL 
MAKE IT PIC 
SET FLAGS 
CALL ROUTINE 



.•♦t021 



.END 



•••• 



TT 



••«• 



ENBDS MACRO Ml 108 
SYMBOL TABLE 



AM.DEC 
AM.DEF 

AM. INC 

AM.NDX 

W.PZ 

AM.REL 

ASTFLG 

BLKT01 

BLKT02 

BLKTOS' 

BLKT04 

BLKTOS 

BLKT06 

CH.ADD 

CH.ANO 

CH.BSL 

CH.COL 

CH.CQM- 

CH.DIV 

CH.DOL 

CH.DOT 

CH.EQU 

CH.HSH 

CH.IND 

CH.IOR 

CH.LAB 

CM. LP 

ABS. 



17 
!0 




000053 
000M6 
000134 
000072 
00005A 
000057 
•<• 
156 
175 
_ i3 
1100 
)A1 
000074 
000050 





U-OEC-77 09:A5 PAGE 4-2 



CH.MUL 

CH.PCT 

CM.QM 

CH.QTM 

CH.RAB 

CM.RP 

CM. SMC 

CM. SUB 

CH.UAft 

CM.XCL 

CPXAOD 

CPXAND 

CPXCOM 

CPXCON 

CPXOIV 

CPXFLG 

CPXGLB' 

CPXIOR 

CPXMUL 

CPXNEG 

CPXOPC 

CPXREL 

CPXSDS 

CPXSTO 

CPXSUB 

CR 

CSTACC 



00005' 

ooor.6 

000 J47 

00C011 
000020 



)2do 

000016 
000006 
000003 
000010 
000010 
)17 
>13 
112 




)O0 
000020 



CSTALO 

CSTFLG 

CSTGBL 

CSTMEM< 

CSTREL 

CSTTYPi 

DEFFLG 

DFGFLG 

DIG.O 

016.9 

EDMASK 

EDMCSI 

EDTROL 

ENABL 

ERNBTS 

ERR. A 

EXMFL6 

FF 

6LBFLG 

GSARG 

GSDTOO 

GSDT01 

GSDT02 

GSDTOS 

GSDTQ4 

GSDT05 

G$PT06 



000000 
OOOOi'O 
PURE I 000112 
ERRORS DETECTED: 



000 
001 
002 



VIRTUAL MEMORY USED) 2546 WORDS ( 10 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
riAPSED TIME: 00:00:16 
ENBDS^r!O,50lENBDS/-SP*r3O.in]<(SXPAR.GENMi.FLGCF. ENBDS 



>00$0 
100 
. 001 
000040 
000200 




000071 



GX 
GX 
GX 



OOOOOORG 002 
*•***• GX 
*•*•** GX 
****** GX 

000014 
000100 

****** GX 

0000C9 
000400 
001000 
001400 

m 

003000 



ILVL 

LBLFLG 

LET. A 

LET.B 

LET.C 

LET.D 

LET.E 

LET.F 

LET.G 

LET.O 

LET. 2 

LF 

LST.KB 

LST.LP 

MDFFLG 

NUtSEC 

PSTFLG 

REGFLG 

RELFLG 

RLDTOO 

RLDT01 

RLDT02 

RLDTQ3 

RLDT04 

RLDT05 

RLDT06 

RLDT07 



000001 
000002 

000102 
000103 
000104 
1105 




000012 
000001 
000002 
000004 
000004 
000050 
000001 
000040 
000000 
000001 
000002 
000003 
000004 
000005 
000006 
000007 



RLDT10« 

RLDT11« 

RLDT15- 

RLDT16' 

RL0T17« 

RSX11M> 

Rlt11M> 

SCANW 

SPACE 

SUBMAC 

SYMBOL 

TAB 

VT 

XBSRCM 

XCREF 

XEDABS 

XEDCDR 

XEDFPT 

XEDIC 

XEDPIC 

XEDPNC 

XFLTG 

XOPEXP 

XRGERR 

XSUBD 

XZERR 

X45 



000010 
QQQQ11 
000015 
000016 
000017 
000000 
000000 
****** GX 

000040 
000001 

****** GX 

000011 
000013 
000000 

oooooo 

000000 

oooooo 
oooooo 
oooooo 
oooooo 
oooooo 



tM« 



TT 



«M« 




^••ft s **** 



ENDLN MACRO M1108 U-OEC-77 09:^5 PAGE 6 



.TITLE 
. I DENT 



ENDLN 
/07.01/ 



47 
il 

49 



W 



12 

16 
?4 




gOOQOOG 
OOOOOOG 



00002 A 016746 OOOOOOG 



COPYRIGHT (C) 1972,1977 

DIGITAL EQUIPMENT CORPORATION, MAVNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 



THE INFORMATION IN THIS D0CUME'4T < 
NOTICE AND SHOULD NOT BE CONSTRUE 
EQUIPMENT CORPORATION. 



'UBJECT TO CHANGE WITHOUT 
^S A COMMITMENT BY DIGITAL 



DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 07.01 



B 

t 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 

I. 

i 



BOWERING 

MODIFIED BY: 



D.N. CUTLER 9-FEB-75 
C.A. D^ELIA 2P-SEP-73 



C.A. D*ELIA 

C.A. D'ELIA 

H.A. NICHOLS 

C.A. d'ELIA 

C.A. D'ELIA 

C.A. D'ELIA 



•JAK-74 

-APR- 74 

1i-JUN-74 

1- AUG- 74 

O-OCT-75 

01-NOV-75 



(VIRT memory; 
(CREF) 



C.A. D'ELIA S1-AUG-77 

CD044 " ADD EXIT-WITH-STATUS SUPPORT 



-ENDLIN-END OF LINE PROCESSOR 



PURE 
ENDLlNitSAVREG 



PURE 1 , 1 



111 



^ 



T« 



IROR 
.IF NDF 
MOVB 
.ENDC 
MOV 



{♦♦017 

;5Ayt RFGISTrRS 

l**Qi\ INJt POINTER TO StART OF LIST 

ifOL OR SEMI- 

I YES 

NEDCDR 
CDR$AV.UNRJF»7?. 



ILSPN 



PNT 
(R5) 



■COLON? 



,'RfPLAfF RORROWfD CHAR 



PA$S.-(SP) 



;PAS$ 17 



••ft* I ] •••« 



ENDLN MACRO Mn08 U-DEC-77 09:45 PAGE 6-1 



000030 
000032 
336 




66 000060 

67 000064 
000066 
000070 
000076 
000100 
000106 
0001 U 
000116 
000124 



68 

69 

70 
71 



74 
75 
76 
77 
78 
79 



000124 
000130 
000132 

80 000140 

81 000142 



82 
83 



000150 
000154 
000160 



001471 
016716 
5767 
..1055 
105716 
:^1462 
052767 
: 1045 
005767 
002442 
003044 
032767 
001403 
016767 
032767 
001405 
0UV67 



005767 
001407 
032767 
001003 
042767 

012701 
046701 
001404 
036767 
'5l411 
)5016 
"^07 

m 

)12767 
1767 



OOOOOOG 
000000' 



OOOOOOG OOOOOOG 
OOOOOOG 

OOOOOOG OOOOOOG 



OOOOOOG 
OOOOOOG 



OOOOOOG 
OOOOOOG 2»: 



000056' 0000006 



31 i 



ooooooc 

OOOOOOG 

OOOOOOG 

OOOOOOC 
OOOOOOG 



OOOOOOG 
OOOOOOG 




4t: 



OOOOOOG OOOOOOG 



5tt 

9ti 
ENDLlOt 



lit) 



OOOOOOG 

OOOOOOG OOOOOOC 
O0OO1V 



9S 

LSTDEV.(SP) 
ERRBTS 

(SP) 

91 

nC.LD.LCFLAG 

5S 

8t 

9LC.C0MACNASK 

2% 

CHRPNT.LCENOL 

ITLC.SRC.LCMASK 

3t 

fLINBUF.LCENDL 



; YES 

.-INII LISTING FLAG 

'ANY ERRORS^ 

; YES. GO DIRECTLY. DO NOT COLLECT. ETC. 

;ANY LISTING DEVICE? 

NO 
;LISTING DIRECTIVE? 
; YES 

;TEST OVER-UNDER RIDE 
;IF <0. LIST ONLY IF ERRORS 
:IF >0, LIST UNCONDITIONALLY 
; COMMENT SUPPRESSION? 

NO 
;YES, ASSUME WE'RE SITTING AT COMMENT 
;LINE SUPPRESSION? 

NO 
;YES. POINT TO START OF BUFFER 



KMACRO 

•LSCNTKODLST ;t»021 IS THERE GENERATED CODE? 

4S ; NO 

nC.MEB.LCMASK ;MACRO BINARY EXPANSION? 

41 ; NO 

«LC.ME,LCFLAG ;YES. IGNORE ME FLAG 

«LC.SEQ!LC.L0C!LC.SRC!LC.BIN.R1 .•♦♦012 MASK OF SIG LC BITS 



LCMASK.R1 

LCMA!>^,LCFLAG 
91 

(SP) 
91 

(SP) 

IVLINBUF.LCBEGL 

#LINEND,LCENDL 

PCROLL 

(SP).LSTREQ 

ENDL20 

•ICENOL 

#0CTBUF.R2 

«PACE«400*5PACE.(R2)» 

#LINBUF,»2 

111 

«0CTBUF.R2 

TSTERR 

XLCSEO 

niNNUM.RO 

(RO)t.Rl 

R1,(r6) 



.•♦♦012 CLEAR IT VIA CURRENT LIST CTL MASK 
.•♦♦012 ZERO, LINE WILL BE NULL— SUPPRESS IT 
,♦♦012 SUPPRESS IT ON OTHER OROUNDS? 
; NO. USE CURRENT FLAGS 
;YES. clear LISTING MODE 

; ERROR. SET TO ERROR FLAGS 
••LIST ENTIRE LINE 

.'PROCESS ENTRY ON CODE ROLL 
.'ANYTf,""i REQUESTED? 

NO 
;SET ASCIZ TERMINATOR 



.vr....- :BLANK FILL 

;TEST FOR END (BEGINNING OF ( INE BUFFER) 



ISli 



;♦♦ 
.'♦♦ 
;♦♦ 
;♦♦ 
;♦♦ 
;♦♦ 
;♦♦ 

.SEO.LCMASK ;♦♦ 
;♦♦ 
R?,R4 ;♦♦ 

#OC?BUF^7.R0 •♦♦* 
-(R2).-(R0) ;♦♦ 



R1.(R0> 



., POINT R2 TO Ourruf BUffER 
\} IV ERROR FLAGS 

y\ PNT RO TO lINf NUMBER (PAIR) 

12 GET UNF « IN R1- PNT RO fo 01 D 
DO OLD AND CURRENT «'S MATCH? 
YES, or? NFXf PRINT flFlD 
NO RFSFT 01 D LIW # TO fURRrNT I 

.. ART I INt NUMBfRS SUPPRf SSFD? 

\\ m. Ctf NEXT PRIN? fULD 
)\\ SAV( BUFfFR POINTER 

\\ CVt LINE • TO DFrlHAl AND StORI 
112 PNT RO TO tNP Of StO tltlD 

12 RIGHT ADJUST THF SFQurNrr N(««fR 



•••• f S ••*• 



rr 



«._K>»_»» Aa.i^t 



a*/;* 4.-» 



ENOLN MACRO M1108 U-OEC-77 09:45 PAGE 6-2 



HO 
S2A 



115 
116 

117 000326 

118 000530 
119 

120 000334 

123 000352 

124 000354 

125 000356 

126 000360 

127 000364 

128 000370 
29 000372 

130 000376 
31 000404 
32 

33 000406 

34 000412 

35 000420 

36 000422 
37 

38 000424 

39 000426 

40 000430 

41 000434 
' 42 000440 

45 

44 000442 

45 000444 

46 000446 

47 000452 

48 000454 

49 000460 
1^0 



112712 
020204 
101575 
012702 

112722 
012701 
052767 
001006 
005711 
001402 
004767 
112722 
005011 
012701 
052767 
001026 

012704 
052767 
001401 
122424 

005711 
001402 
004767 
112722 
005011 

005504 
000761 



000040 



000015' 



000011 

mOG 
OG OOOOOOG 



201: 



OOOOOOG 
000011 

OOOOOOG 
OOOOOOG OOOOOOG 



22t: 

?4t: 



000001 

OOOOOOG OOOOOOG 



000202 
000011 



OOOOOOG 
OOOOOOG 



50t: 
52»i 




016701 0000000 



OOOOOOG 
OOOOOOG 



fNDLl9> 



enol:o; 



016700 



OOOOOOG 

oooooor ooocooG 

mm 



ENDLSOi 



MOVB 


«SPACE«(R2) 


CMP 
BHI 


!li"' 


MOV 


«OCTBUF«7.R2 


.ENDC 




MOVB 


«TAB.(R2)* 


MOV 


#PF0.R1 


BIT 


#LC.LOC.LCMASK 


BNE 


24S 


TST 


(R1) 


BEQ 


221 


CALL 


SETWRD 


MOVB 


«TAB.(R2)t 


CLR 


(R1) 


MOV 


#pn,Ri 


BIT 


«LC.BIN.LCMASK 


BNE 


ENDL19 


.ir NDF 


KLCTTM 


MOV 


#1.R4 
fLC.TTM.LCMASIC 


BIT 


BEQ 


50t 


CMP6 


(R4)f.(R4)* 



.IFTF 

TST 

BEQ 

CALL 

MOVB 

CLR 

.IFT 

DEC 

BEQ 

TST 

BEQ 

CALL 

BR 

.ENDC 

MOV 

MOVBYT 

PUTLIN 

CLRB 

.IF NDF 

TST 

BEQ 

.ENDC 

CALL 

BEQ 

BIT 

BNE 

BR 

1^ 

CALL 
MOV 
.IF DF 

iuB 

.ENDC 



(R1) 
52t 

LINWDB 

«TAB.(R2)t 

(R1> 

R4 

ENDL19 
ILSFLG 
52S 

PCROLL 
SOI 

LCBECL.R1 

fOCTBUF 



•LCBEGL 
KLCTTM 
tLSFI 
ENDL! 



[^ 



.•♦♦012 

.•♦♦012 

;^»012 

;^^012 

.•♦♦012 

.•♦♦012 

.'♦♦012 

;*^012 

.•♦♦01? 

.•♦♦01 

.•♦♦01 

.•♦♦01. 

.♦♦012 

.•♦♦012 

.'♦♦012 

.♦♦012 

.•♦♦012 

;^^012 

.•♦♦012 

;^^012 

••♦♦012 

.♦♦012 

.•♦♦012 

••♦♦012 

.•♦♦012 

.•♦♦012 

.•♦♦012 

.'♦♦012 

••♦♦012 

.•♦♦012 

.'♦♦012 

.'♦♦021 

.•♦♦012 

.•♦♦012 

.'♦♦Oil 

;^^012 

.•POINT 

.'MOVE 

.'TEST 



REPLACE DIGIT WITH BLANK 
CONTINUE FOR THE ENTIRE ... 
... SEQUENCE NUMBER 
NOW UPDATE BUFFER POINTER 

INSERT FIELD SEPARATOR 

PNT R1 TO LOCATION FIELD DATA 

IS LOCN FIELD SUPPRESSED? 

rES. TRr NEXT FIELD 

IS LOCN FIELD EMPTY? 

YES. SKIP DATA CONVERSION 

CVT LOCATION AND STORE IN LINE 

INSERT FIELD SEPARATOR 

SET LOCATION FIELD EMPTY 

PNT F1 TO BINARY FIELD DATA 

IS BINARY FIELD SUPPRESSED? 

YES. GO DIRECTLY TO PRINT 

ASSUME TTMODE (ONE BINARY FIELD) 

ARE WE IN TELETYPE MODE? 

YES, SKIP 

NO, SET TO THREE BINARY FIELDS 

IS BINARY FIELD EMPTY? 

YES, SKIP DATA CONVERSION 

CVT BINARY FIELD AND STORE IN LINF 

INSERT FIELD SEPARATOR 

SET BINARY FIELD EMPTY 

DECR BINARY FIELD COUNT 

WHEN ZERO PRINT THF LINE 

IS ANY GENERATED CODC LEFT? 

NO. GENERATF NUU FIELD 

YES, GET NEXT ENTRY IN CODE ROLL 

REPEAT FORMAT PROCESS 



TO START OF LISTING LINE 
OVER 
FOR HEADER AND LIST 



.'DON'T DUPf LINE 

i^^021 IS ANY GENERATED CODE LIETT 
; YES. DON'T LOOP 



PCRO^jj 



ENOLSO ilMlT IF EMPTY 

«LC.BINILC.BEX.L(MA$II ;m012 SUPPRESS ADDITIONAL BINARY? 

YIS 

NO. FORMAT FOR PRINTING 
LIFTING FLAG 

FMPTY CfNrRATFD ( ODf I 1ST 
CLEAR CPXROL t INIT COMPIFX STR I ENGTH 



ENDL 26 

FNDllO 

(SP)^ 

CODIST 

ZAPCPX 

fLCLOC.RO 




•PHASE 
PHAOFF. 



RO 



*««• I ] ••«• 



tj_t»f_»» /\o.i.t nkf.t A-t 



EMDLN MACRO Ml 108 U-OEC-77 09:45 PAGE 6-3 



;;i 888iit 
" IS 



020067 
10U02 
1100^7 



OOOOOOG 
OOOOOOG 



17A 
175 
176 
177 
178 000572 016700 000000' 

80 gOMOO M2700 OOOOOOG 
181 000604 0OU02 




2712 000107 
2711 OOWOO 
iU02 

m 



n271i' 000103 



000000 



CMP RO.CLCMAX 

BLOS 31 i 

MOV RO.CLCMAX 
31 S: RETURN 



TSTERR: MOV ERRBTS.RO 

BEQ TSTER9 

BIC <IIERR..R0 

BEQ 4$ 



NEW HIGH FOR SECTOR? 

NO 
YES. SET IT 



ANY EP .JRS? 

NO 
YES, ".PRINT"? 

YES 



.IF DF EXST 



lOOS: 



not: 



MOV 
BIT 
BEQ 
MOV 
CMP 
BLE 
MOV 



.ENDC 



41) 



» 



INC 
MOV 
TSTB 
ROR 
BCC 
MOVB 
BR 
21 I BNE 
TSTeR9! RETURN 

LiNWDBi CALL 
BIT 
BEQ 
MOVB 
BIT 
BEQ 
MOVB 
BIT 
BEQ 
MOVB 
INC 

RE TURN 
.PSICT 

ERRBTSm.BLKW 



lOli 

111 



«EXIWAR,R1 .-ASSUME WARNING STATUS IS PROPER 
«*C<ERR.1!ERR.Q>.R0 .IS ASSUMPTION CORRECT? 



1001 

«EXIERR.R1 

Rl.tEXSTS 

not 

Rl.tEXSTS 



ERRCNT 

«ERRMNE-1.R1 

<R1)» 

ERR8TS 

2t 

(R1).<R2)« 

It 

It 



SETWDB 

«RELFLG.(R1) 



;IF EQ YES 

;SET ERROR STATUS 

;IS THIS STATUS WORSE THAN PREVIOUS? 

;IF LE NO 

.•STORE THIS STATUS 



;BUMP ERROR COUNT 

:MOVE CHAR PNTR AND CLEAR CARRY 
;R0TATE ERROR BITS 



«RELFLG 
#",'R2 



#6LiFLG.(R1) 

#'G.(R2) 
*CPXFLG.(R1) 

#^.(R2) 
R2 

jMPUN.P.GBL.RW 



.PSrCT IMPU«.p,«W 

.il^ NOF nmw 



^ m XEPCDI 

CDRSAVtt.llKW 1 

.Fnoc 

FRRCNTn.lLKW 1 



LIST WORD OR BYTE 

IS RELOCATION FLAG SET? 

NO, TRY NEXT TEST 

INDICATE RELOCATION WITH APOSTROPHE 

IS GLOBAL REFERENCE FLAG SET? 

NO. NEXT TEST 

INDICATE GlOBAl WITH LETTER 'G*. 

COMPIEX REIOIATION? 

NO t FAVF 

INDICAtl (OMPLFX WITH LETTER 'C. 

INCREMENT LINE BUFFER POINTER 



ERROR BITS 

♦ ♦017 
; SAVED CHARACTER FROM CARD FORMAT 
;ERROR COUNTER 



CDQ4A 
CD0A4 
CD0A4 
CDOAA 
CD0A4 
CD0A4 
CD044 
CD044 
CD0A4 
CD04A 
CD0A4 
CD0A4 
CD044 
CD0A4 
CD0A4 
CD044 



•*•* H S **•* 



MAfhn linnB XLmttttmJf OOiit ftAAt k»k 



ENOLN MACRO MIIOB U-OEC-77 09:A5 PAGE 6-4 



229 

230 

251 000004 

232 

233 000004 

11 

236 000056 



238 000262 

239 

240 

241 000001 



PAGE 6-4 








LSTBUF ! 


.BLKW 


1 


.■♦t015 BYTE COUNT fOft LISTING CHANNEL 
.♦♦015 REF LABEL 


OCTBUF : 


.BLKW 


20. 


.'♦♦015 BUFFER FOR 40. CHARS OF LINE INFO 


LlNBUr: 


.BLKW 
: .BLKW 


1 
LlNLEN/2 


; 

• 
• 


LINEND: 


: .BLKW 
.END 


1 


« 



••## I S t#«t 



L kA a*A * AM M« « AA 



1 



EMDLN MACRO M1108 
SYMBOL TABLE 



U-OEC-77 09:45 PAGE 6-5 



AM.DEC> 
AM.DEF> 
AM.IMM' 
AH.iNC> 

m.mn' 

AM.PC > 
AM.REL* 
ASTFLG> 
BINCHN- 
BLKT01> 
BLKT02> 
BLKTOS- 
BLKT04- 
BLKT05> 
BLKT06- 



000040 
110 

io 

000060 
000007 

mi 




000002 
000003 
000004 
000005 



20 

****** QX 

000053 
000046 
000134 
000072 
000054 
000057 
000044 

000043 
000100 

1 

174 
•0 



CHRPNT> 
CH.ADO- 
CH.ANO- 
CH.BSL- 
CM. COL- 
CH.COM- 
CH.DIV> 
CH.Da> 
CH.OOT.' 
CH.EQU> 
CM.HSM- 
CH.INO« 
CH.IOR- 
CH.LAB- 
CM. LP » 
CH.MUL- 
CM.PCT- 
CH.QM ■ 
CH.QTM- 
CH.RAB- 
CM.RP . 
CH.SMC- 
CH.SUB" 
CM.UAR* 
CM.KCL- 

. ABS. 



PURE I 000704 
IMPLIN OOQOO? 
IMPURE 000264 
ERRORS DrrfCTEDt 




000047 




000 
001 



004 



CLCLOC- 

CLCMAX> 

CMOCHN> 

COOLST- 

CPL » 

CPXADD" 

CPXANO> 

CPXCOM- 

CPXCON* 

CPXOIV" 

CPXFL6" 

CPXGLB- 

CPXIOR" 

CPXMUL" 

CPXNEG> 

CPXOPC» 

CPXREL- 

CPXSDS- 

CPXSTO« 

CPXSUB> 

CR 

CSTACC- 

CSTALO- 

CSTFLG- 

CSTGBL- 

CSTMEM- 

CSTREL> 

CSTTVP» 

CTTBL • 

DEFFLG- 

DFGFLG' 

DIG.O > 

DIG. 9 - 

PNC ' 

ENOLJN 

ENDLIQ 

ENDL19 

ENDL20 

ENOnO 

ERRorf; 

FRRCNT 



****** 

000000 

****** 

000120 
000001 

m\ 

120 



GX 
GX 

GX 




00001 
101 
00001 
000013 
000012 

ml 

000020 
000004 
00005' 

- r 



000040 
000200 
****** ox 

H 

2( 




000071 
****** GX 

Q005Q2R 
OO0554R 
OOOOOORO 
OOOOOORG 



ERRMNE« •••*•• GX 
ERR. . ****** GX 
ERR.Q « ****** GX 
FF . 0QQ014 
GLBFLG> 000100 
GSDTOO' 000000 
GSDTQ1> 000400 
GSDT02> 001000 
GSDT03- 001400 
GSDT04> 002000 
GSDT05> 002400 
GSDT06- 003000 
ILVL • 000001 
LBLFLG> 000002 
LCBEGL- •••••• GX 

LCENOL- •••••• GX 

LCFLAG" ••••** GX 

LCLVL • •••••• GX 

LCMASK- •••••• GX 

LC.BEX- •••••• GX 

LC.BIN" •••••• GX 

LC.COM* ****** GX 
LC.LO ■ ••••*• GX 

LC.LOC- •••*** GX 
LC.ME • •••••• GX 

LC.MI8- •••••• GX 

LC.SEQ* •••*** GX 
LC.SRC* »••••• GX 

LC.TTM* •••••• GX 

LET. A • 000101 
LFT.B > 000102 
LET.C ■ 000103 
LET.D > 000104 
LET.E • 000109 
lEI.F • 555106 
lET.G • 000107 
lET.O • 000117 
lEI./ . 000132 
IF ' 00001? 
LINBUF 0000)6RG 



LINEND 
LINLEN 
LINNUM 
LINWDB 
LPP 
LSTBUF 
LSTCHN 
LSTDEV 
LSTLEN 
LSTREO 
LST.KB 
LST.LP 
MAXCHN 
MDFFLG 
MOVBVT 
NUftSEC 
OBJLEN 
OCTBUF 
PASS 
PCROLL 
PFO 
PF1 

PSTFLG 
PUTLtN 
REGFLG 
RELCMN 
RELFLG 
RLDLEN 
RLD100 
RLDT01 
RLDT02 
R10T05 
RLDT04 
RLDT05 
RLDT06 
RLOtO? 
RIOTIO 
RIOTII 
RIDTH 
004 RL0n6 



yiRTUAl MEMORY DStD; USO WORDS ( t4 PAGES) 
DYNAMIC MEMORY; 1)744 WORDS ( 60 PAGES) 
ElAPSED TIME I 00i00.!9 

ENDlN.rW,55HNOLN/-5P-t50.10JR5XPAR.MPARAM.MCIOCM.OEW.FlODF.FNDLN 



GX 



000262RG 
000204 
****** GX 

()00636R 

000074 

000004RG 

000004 

****** GX 

000204 

****** GX 

000001 
000002 
000014 
000004 
****** 

000004 
000052 
000004R 
****** GX 
****** GX 
****** GX 
****** GX 
000050 
****** GX 

000001 
000010 

000000 
000001 




004 



004 RL0T17 
RSX11M 
RSSIIM 

002 SAVREG 
SETWD6 

004 SETWRD 
SMLCHN 
SMLLEN 
SPACE 
SPCCHN 
SRCLEN 
STLLEN 
SUBMAC 
TAB 
TMPCNT 
TSTERR 
1STER9 
TTLLEN 
VT 

XBSRCH 
XCREF 
XEDABS 
XEDCDR 
XEDCRF 
XEDFPT 
XEDLC 
XEDPIC 
XEDPNC 
XFLTG 
XOPtXP 
XRGERR 
XSUBD 
X/ERR 
X45 
YOCMO 
/AP 
/APCPX 
tlSCNT 



000017 

OOOOOQ 

000000 

****** GX 

****** GX 

****** GX 

000012 

000120 

000040 

U00002 

000204 

000100 

000001 

000011 

000014 

0005 72R 

000634R 

000040 

000013 

000000 

000000 

000000 

OOOOOQ 

000000 

000000 

000000 

000000 

000000 

000000 

OOOOOQ 

OOOOOQ 

000000 

OOOOOQ 

000000 

000000 

»♦•♦•* GX 

*•***. GX 

••»*•» GX 

GX 

****** GX 



002 
002 



•••• J s ••*• 




•••• I 1 •••• 



I M^AA MAVkn M««I\A li._lk»r_*9 IMkiLA. 



mkUM t 



ENOPS MACRO Ml 108 U-OEC-77 09:46 PAGE 5 



.TITLE ENOPS 
.IDENT /08/ 



000000 
OOWQ.' 
0(XW(K 
000006 



COPYRIGHT (C) 1972.1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJFCT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 08 



B. BOWERING 

I MODIFIED BY: 

t 

t 

I 

I 

I 

I 

1 

1 

I 

I 

t 

; ••-ENDP1-END PASS 1 



D.N. 


CUTLER 


S-FE8-71 




C.A. 


D'ELIA 


P8-JAN-74 


01P 


C.A. 


D'ELIA 


??-MA«-74 


?!*. 


H.A. 


NICHOLS 


18-JUN-74 


C.A. 


'-'el a 


:i-DCt-7« 




C.A. 


D'EL A 


20-MAH-75 
?9-.)AN-76 


019 


C.A. 


D'ELIA 


0?1 


C.A. 


D'ELIA 


15- APR- 76 


S^ 


C.A. 


D'ELIA 


n-OC1-76 



(VIRT MEMORY) 
(MISf-flK SYMBOLS/COL) 
(IMPR PERFORMANCE) 



;*»01? 



I 



THE FOLLOWING LOCAL OFFSETS ARE DtFINtD FOR USE IN GENERATING A 



SYMBOl TABlt I I SUNG BY COLUMNS 
ARE PLACED ON fHE STACK AND ARE 
FOLLOWING SYMBOLS. 



<PA(.I ORirNUD). TEMPORARY DAIA 
REIFRENCID BY USING THE 



"OM 



SP.SYM«0 
SP.LHp^SP.SYM*; 
IP.PKT-SP.IHD*! 
IP.JPP'SP.PNIW 



l**Q!\ NLlMBfR OF SYMBOl '^ RFMAjNING 

.■••6jl ADDR Of NEK! (OIllMN LlSlHEAD 

;»»0?' list PfR FOR Ntm ''AGE 

;t»OI1 MAX SYMMLS PER PAGE 



•«•• I I ••#• 



MArfen mini \kmMt^77 Mi&4 MAI 1*1 



ENOPS MACRO Ml 108 U-OEC-77 09:46 PAGE 5-1 



61 

62 000000 

63 

6<i 000000 

65 



S5 



68 00000? 

69 000000 

ro 

71 000000 

73 OOOOOA 
7A 000010 
75 000012 

77 000016 

78 000024 

79 000030 
80 

81 000034 
8? 000040 

83 000044 

84 000046 
85 

86 000052 



000010 
000012 



004767 

105767 
001537 
004767 

012777 
012701 
004767 

012701 
005761 
001402 
004767 

005046 
012667 

001463 
16746 
12701 




SP.C0L«SP.SPP*2 
SP.P0P«SP.C0L»} 



REM: 



ENDPli 



lOSi 



OOOOOOG 

000006G 

OOOOOOG 

000001 00001 OG 

OOOOOOG 

000312 

OOOOOOG 
000004 

000274 
OOOOOOG 



OOOOOOG 
OOOOOOG 



000005 

000040 OOOOOOG 

OOOOOOG llti 

ffi! 

0000000 noi! 

OOOOOOG 
OOOOOOG 

000100 OOOOOOG 
OOOOOOG 

OO^Soo 0000000 



ISli 



.PSECT MIXED. D 
.BLKW 1 

PURE PURE 1. 1 



.IF NDF 

CALL 

.IFTF 

TSTg 

•f 

CA 

.IF 

MOV 

MOV 

CALL 

.IF NDF 

MOV 

TST 

BEQ 

CALL 

.ENDC 

CLR 

MOV 

NEXT 

BEO 

MOV 

MOV 

CLR 

aisa 

MOVB 

CLR 

HITS 

MO 

MOV 

MOV 

MOV 

CALl 

CMP 

BEQ 

•Si 

N(xr 

m 

CMPB 



XREL 
SFTMAX 

>'BL»BINCHN 
1 «Df<1B 
<8J1NI 



,•♦♦021 COLUMNS PER PAGE 

{♦♦021 BVTES OF STACK USED FOR ABOVE 



,•♦♦024 

;^>024 SYMBOLS/COLUMN REMAINDER 



,•♦♦017 
;REF LABEL 

.■SET MAX LOCATION 

.ANY OBJ FILE? 

; NO 

.•INIT OUTPUT 



«BLKr01.IBUFTBL^RELCHN ;SET BLOCK TYPE 1 

fPRGTTL.RI ;SET "FROM" INDEX 

GSDDMP .'OUTPUT GSD BLOCK 

D0SV4 

«PRGIDN.H1 ;P0INT TO SUB-TTL BUFFER 

4(R1) ;SET? 

9S ; NO 

GSDDMP ;VES. STUFF IT 



-(SP) 

(SP)^.llSPNT 

SECLST 

ENDPIA 

ILSPNT.-($P) 

«SECT0R.R1 

(R1«,R5 

fGSDt05/400.(R1) 
(R1)^ 
tCSTREL.MOOt 

(R1>,-(R1) 

flSYlMD.RS 

«SYMB0L.R1 

GSDDMP 

R5,«tENlHD 



rJ)». 

101 



BASSVM 



1 
( 

1 
•ISPNT 

IGLBFIG.MODF 
T0R,R5 



;INIT FOR SECTOR SCAN 
;^^021 SET LIST POINTtR 
;»»021 FETCH NEXT SECTOR 
.•BRANCH IF THROUGH 
;^^021 SAVE LIST ROINTtR 
;GET ADDRESS OF SECTOR 
,'CLEAR R5 

;PICK \Jf SECTION NUMBER 
♦;SET GSD TYPE 
,- ASSUME ABS SECTION 
;ABS Sr(TI0N7 
; OOPS ! 

SE 1 MAX 
'point to sum. 1ST IISTHEAD TMLI 
POINT R1 TO PSECT NV<t 
OUTP^JT PSrCT GSD RIfORD 
AT FND OF TABK^ 
IF EQ YfS 

USr SUB( ISI HFAD AS LIST HEAD 
, IF EQ NUll SUBl i:.T 
^? INIT I 1ST MIR to START OF UST 
?i FETCH NEXT SY^-rtOl 

FO TRV NEM SUBUST 



r 1' 

lAl? 



]\\" 

»^(<l 



PROPER SECT'lR? 



tDEFFlU 
*(iSDt04,MOOt 



RFlFll 



Ti9i rnwr 

i!OLlFlG>.MODr 
SIT TYPt 4 



; CI EAR MOST 



•••* N S •••• 



iMft»t mffcnmiftM u.Mf.yy ooi4A pa(.f s»? 



ENOPS MACRO Ml 108 U-OEC-77 09:<.6 PAGE 5-2 



117 000236 
118 



012701 OOOOOOG 
0OA767 000110 
000751 




125 000270 

126 000276 

127 000502 
128 

129 000310 

131 000510 

132 0005U 
155 000524 

154 000526 

155 000552 

156 000556 

157 000540 
158 

159 000540 

140 000544 

141 

142 000546 

145 000546 

144 000552 

145 000556 
146 

147 




168 000450 

16V (HXHH 



042767 
052767 
012701 
004767 
004767 
012777 
004767 
012777 



005067 

001405 
005067 

000766 



005267 
000207 



012700 
004767 
000167 



012705 

012701' 

12510 

17^6 

Wo 

1404 

1001 

767 

\ 
407 

u 



177757 000004G ENOPIA: 

00 1410 000004G 

OOOOOOG 

000062 

OOOOOOG 

000002 00001 OG 

OOOOOOG 

000004 00001 OG 



OOOOOOG 
OOOOOOG 

OOOOOOG 



000010 

OOOOOOG 

OOOOOOG 



OOOOOOC 

OWOOG 
OOOOOOG 



177776 

OOOOOOG 
OOOOUOO 



0000000 
OOOOOOf 



ENDPIBt 
51l< 

521: 

ENDRTN: 
GSDDMP: 



MOV 

CALL 

BR 



BIC 

BIS 

MOV 

CALL 

CALL 

MOV 

CALL 

MOV 

.IFTF 

.IFT 

CLR 

NEXT 

BEQ 

CLR 

INSERT 

BR 

.IFTF 
INC 

RETURN 
.IFT 

MOV 

CALL 

JMF> 

.ENDC 



«SVMB0L,R1 

GSDDMP 

15t 



.♦♦029 POINT TO GLOBAL NAME 
,•♦♦029 OUTPUT GLOBAL SYMBOL GSD 
.'♦♦029 SEARCH FOR MORE GLOBALS 



LNKSVMi fST 
BEQ 



lOOli 



nott 

115lt 



120ti 



l» 



150l> 



I* 



MOV 

MOV 

MOV 

BEQ 

CLR 

T$T 

BEQ 

MOV 

CAll 

BR 

CMP 

BEQ 

MOV 

BIO 

CLR 

lAU 

BR 

MOV 

Rt TURN 



#»C<RELFLG>,EN0VEC^4 .-CLEAR ALL BUT REl FLAG 

#GSDT05^DEFFLG,ENDVEC^4 

«ENDVEC.R1 

GSDDMP .-OUTPUT END BLOCK 

OBJDMP ;DUMP IT 

«BLKT02.aBUFTBL^RELCHN .-SET 'tND OF GSD" 

RLDDMP 

#BLKT04.a8UFTBL^RELCHN ;INIT FOR TEXT BLOCKS 



ILSPNT 
SECLST 
521 

VALUE 

311 



PASS 



#4»2.R0 

TSTRLD 

KMIT4 



SVMLST 



«iSYLHD,R5 
«6ASSVM,R0 
(R5)^.(R0) 

loot 

•2(R5) 

(RQ) 

1201 

(RO).RI 

ICVRI 

1101 

RJ.^lrNiMD 

;50t 

(R5)MR0' 



1201 



►(R5) 
Rl.lLStOP^SVMl 



;^^021 INIT POINTER TO START OF LIST 
,'♦♦021 FETCH NEXT SECTOR 
; BRANCH IF FINISHED 
.•FOUND. RESET PC 
;PUT BACK IN TABLE 



;8ET FOR PASS 2 
,'♦♦012 

;DUMP A GSD BLOCK 

;r0UR WORDS PER GSD ENTRY 

;R0OM? 

;WF HAVI NOW, STUM FNTRY 



IS THE SYMBOL TABlE IMPTYT 
IF to rfS—DONM PROCISS 
GET ADDR OF SUB-l 1ST HEAD TAB( E 
POINt to MAIN TABlt LIST H(AD 
VIRT lOCN OF FIRST FNTRY 
SUB-LIST IS FMPTV 
CLEAR Sl«-l 1ST MFAD 
VIRT lOCN UF NtXt rNTNY 
END OF THf SUB-LIS! 
PUT IT IN R1 
RE At ADDR IN RO 
•{AN to END Of SUB-l I St 
ARI WE AT FND UF llSt MFAD tABlET 
IF Id YES 

ELSE. LINK SUB-USf to PRfVlOUS 
IF t6 THIS SUB-dST IS FMPtY 
ElSf. CHAR THF SUB-l ISt MFAD 
PaH page DIRTV 
Kt^tiAT to FORM A S|.4GLE I 1ST 
lAVE VIRT LOCN OF LAST ENTRY 




STORt 
IF [Q 
ELSE, 
CHECK 



*••• M ] *«•* 



ENOPS MACRO mi08 U-DEC-77 09; A6 PME 5-3 




; ••-ENDP2-EN0 PASS 2 



1 jj 000500 



000506 



00^767 
004767 

0(M767 

012777 
00*767 



OOOOOOC 

OOOOOOC 

OOOOOOC 

OOOOOOC 

000006 
OOOOOOC 



ENDP2i: 



00001 OC 




OOOOOOC 
OOOOOOC OOOOOOC 



111 



OOOOOOC 



000000 



201: 
20011 



22ti 



241 ! 



MOV 

«ov 

DIV 



CLOSRC 

XREL 

SCTNAX 

OBJPNT 

OBJDMP 



;REF LABEL 

;»»0U CLOSE THE SOURCE FILE 

;SET MAX LOCATION 

;ANV OBJECT OUTPUT? 

; NO 

:VES. DUMP IT 



fBLKT06.IBUFTBL«RELCHN .'SET END 
RLDDMP ;DUMP IT 

XEDA8S 

nD.ABS.cDMASK ;ABS 0UTPUT7 
; NO 
OBJPNT ,R0 

rNDVEC*6.(R0)* ;SET END VECTOR 
RCOBJPNT 
OBJDMP 



LSTDEV 

ENDRTN 

«LC.SVM.LCMASK 

INPRTN 

#SyMTXT.R1 

«STLBUF,R2 

LPPCNT 
LNKSYM 

»Lir«UF,R2 

NLCTTM 

fLC.TTM.LCMASR 

(RS)*.(RS)* 

R3,-(SP) 

■(Jp) 

LlNPPG.dP) 



;ANV LISTING OUTPUT? 
;*»012 NO, BRANCH TO LEAVE 
; SYMBOL TABLE SUPPRESSION? 
i**OW YES. BRANCH 10 LEAVE 
;**Oll GET AODR OF SYMBOL TABLE TEXT 
;**018 M« ADDR OF SUB-TITLE BUFFER 
.'♦*01| SET SYMBOL TABLE SUB-TITLE 
.'FORCE NCW PAGE 




iLSCNTtSYMLST.- 



;♦♦ 
;♦♦ 

;♦♦ 
;♦♦ 
;♦♦ 
;♦♦ 
;♦♦ 
;♦♦ 
;♦♦ 
;♦♦ 
;♦♦ 
;♦♦ 
;♦♦ 

(SP> 

;♦♦ 

;♦♦ 
♦♦ 



11 

u 
1, 
11 
1 
1 
1 



$P.$YM($P),R5 
INDP2A ,.,v 

SP.$^(SP).SP.8YM($f 



;♦♦ 

;♦♦ 
;♦♦ 



LINK SYMTBL SUB-LISTS INTO ONE 

ASSUPt TELETYPE MODE (S COLUMN LISTING) 

BUF ADDR (IN CASE OF NULL TABLE) 

USING TELFTYPf MODE? 

YES. SKIP 

NO. UPDATE TO 5 COLiMN LISTING 

PU1 « COLUMNS ON STACK (SP.COL) 

CALCULATE SYMBOLS/PACE (SP.SPP) 

ADD IN LINES rtn PAGE 

LESS TOP-OF-PAGE HEADING 

REPEAT FOR EACH COLlMN 

INIT NEXT PAGE LIST PIR (SP.PNT) 

1 AESERvI COLUMN LlSTHD ADDR IsP.LHO) 
j*»021 COPY SYMBOI COUNT (SP.SYM) 

2 ASSUME PARTIAL PAGF REMAINING 
? WHEN NOT POSITIVE. VE^Rt DONE 

1**0)} DEDUCt PAGE WORTH OF $YMBOlS 
HIP IF LESS THAN PAGE WAS iMt 
ELSE. PRINT A FUll PAGE 
PREPARE fo DIVIDE i SyMBOI S ON ... 
... THh PAGE IV » Of COiUMNS 



•••• I 4 •••• 



ENDPS MACRO mi 08 U-DEC-77 09:A6 PAGE 5-4 



in 




010167 
70 012702 
;7A 016722 

016667 
010004 

m 

01 mo! 




MA, 



271: 



7(H 

712 



44 



000004 OOOOOOG 



OOOOOOG 




2701! 
2721: 



000000* 



12766 
16604 

Its? 




0014)4 
016763 
010366 




i 000004 
000002 



177776 



2741: 
2»: 



31 i 



41) 
6t) 






000066 
000012 



101 1 

121 1 

Ul! 

IN0P2AI 



MOV 

MOV 

MOV 

SOB 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

NEXT 

BEQ 

DEC 

BGT 

BIT 

DEC 

BGE 

SOB 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

NEXT 

BEO 

MOV 

RSOUNP 

MPV 

CALL 

MOV 

BIT 

BEQ 

CALL 

BK 

MOV 

MOVBVT 

CALL 

CALI 

MOV 

m, 

CALL 

MOVi 

DEC 

BNE 

CALL 

BM 

SOB 

CAll 

BM 

ADD 
.M Nor 



(♦♦0|4 SAVE .REMAINDER 



R1.REM . „ .... 

♦SSVLMD.R2 i**6l9 POINT R2 TO COLUMN LISTHEADS 
lLST0Pt5YMLST.(Ri)* :t*5^1 INIT LISTHEADS TO ENO-OF-LIST 
R3, 27$ ;»»021 

SP.PNT(SP),ILSPNT it*021 INIT LIST PTR FOR THIS PAGE 
R0,R4 



«tSVLHD,R2 

SP.C0L(SP),R1 

ILSPNT,(R2)* 

R4.RS 

SYMLST 

2721 



i"^wn 1 1^1 1 Ljai rin run inia 
.•♦♦021 COPY SYMBOLS/COLIWN TO R4 
.•♦♦02? POINT R2 TO LISTHEADS AGAIN 
.•♦♦02 GET NUMBER Of COLUMNS 
.•♦♦02 SET COLUMN LISTHEAD 
.•♦♦021 GET SYMBOLS/COLUMN 
.•♦♦021 GET NEXT SYMBOL 
.•♦♦021 IF EQ AT END OF LIST 
;^^024 REDUCE SYMBOL COUNT 
;^^024 IF GT NOT AT END OF COLUMN YEf 
;^^024 IF LT REMAINDER CHECK MADE 
;^^024 DECREMENT REMAINDER 



2 „ 
2741 

REM . .. 

£!^t,.. •**9^ I^ GT ADD SYMBOL TO THIS COLUMN 

VtlL^,^ -«.,,»{ *'02*«5I'*^*^ ^0" *'•'■ COLUMNS IN PAGE 
ILSPNT.SP.PNT(SP) {♦♦021 SAVE LIST PTR FOR NEXT PAGE 

aINBUF.R2 ; POINT TO STORAGE 
.J!!L"9i2?-'-"'><^^> .il*W 'NIT COLUW LISTHEAD ADDR 
SP.C0L(SP).R4 .•♦♦012 GET » COLUMNS DESIRED IN LISTING 
;^^021 GET COLUMN LISTHEAD ADDR 
.•♦♦021 SFT I 1ST POINTER 



SP.LHD(SP).R3 

(R3)^.tLSPNT 

SYMLST 

141 

ILSPNT.-2(R3) 

R3.SP.LHD(SP) 

*ENDP2T.R3 

ENDP2C 

«M0DE.R1 

«DEFFLG.(R1) 

4S 

SETWRD 

fSTARS.RI 

ENDP2C 
ENDP2X 
«SECTQR.R1 
#1.(R1) 

loi 
•(Rn,-(Ri) 

SCTBYt 
«rAB.(R2)^ 

R4,J| 
ENDP2B 

tSP.POP.SP 
XREL 



.•♦♦021 FtliM NEXT SYMBOL 
;^^0019 IF EQ WE'RE OFF THE TABLE 
••♦♦021 UPDATE THE COLUMN LISTHEAD 
.-♦♦021 AND THE COLUMN LISTHEAD PTR 
; UNPACK THE SYMBOL 



; POINT TO MODE BITS 

;DEF1NED7 

i NO 



; FINED, SUBSTITUTE 



.'SEPARATOR 

" " DEIR ENTRY COUNT 

SKIP. "AGt NOT COMPLi.r 

PAGE FULL, rORCf UNf OUT 

. ,^ Sff UP FOR NfXl PAGE 

.'♦♦012 CONflNUf FOR FULL I INE P» lISfINC 
,■♦♦019 OUTPUT UNf 
;NEST UNf 

{♦♦021 CLEAN STACK 



••••"J 4 •••« 



ENDPS MACRO Mil 08 U-DEC-77 09:46 PAGE 5-5 



?1 




005067 
0W767 

0OU26 



OOOOOOG 
000050 



112722 

H ^^I2§ 9^^701 

.» 001232 004767 

§95 9Q1242 012701 

'" 3l246 004767 

)1252 000752 




OOOOOOG 



OOOOOOG 

000000 

OOOOOOG 



211: 




CLR 

CALL 

NEXT 

BEQ 

R50UNP 

novB 

MOV 

CALL 

NOVB 

MOV 

CALL 

BR 

.IFF 

RETURN 

.ENOC 



$LSPNT 
ENDP2B 
SECLST 
ENDP2D 

«TAB,(R2)t 

#VALUE,R1 

SETWRO 

«TABt(R2)> 

#SECT0R-2.R1 



.•♦♦021 INIT POINTER TO START OF LIST 

.'OUTPUT LINE 

.•♦♦0?1 FETCH NEXT SECTOR 

; EXIT IF END OF ROLL 

.•PRINT THE NAME. 



THE VALUE, 



AND THE ENTRY NUMBER 



ENPP2B: 


CLRB 


(R2) 




PUTLP 


fLiNBUF 




MOV 


«LINBUF.R2 


eN0P2D: 
EN0P2C: 


RETURN 




CALL 


CNDP2X 


ENDP2X: 


MOV 


(R3}^.R0 




BIT 


(R3)^.M0DE 




BNE 




syAB 


R0.(R2)^ 


32t: 


MOVB 




RETURN 






PURE 


DPURE.D 


IN0P2TI 


.ASCII 


/ ■/ 




.WORD 


LBLFLG 




.ASCII 


/T/ 




.WORD 


REGFLU 




.ASCII 


/R / 






RELFLG 




.ASCII 


/G / 






6LBFL6 




:i»i' 


/X / 




DFOFLO 




PURE 


TXTBrT.O 


SVMTXTt 


.hsni 


/SVMBOl TABLE/ 



.•RESET TO START OF BUFFER 



;^»017 



{♦♦017 



.IND 



•••• 4 •••• 




M 

00000! 



GX 




ENDPS MACRO Ml 108 
SYMBOL TABLE 



AM.DEC- 
AM.DEF> 

AM. INC* 

AM.NDX- 

AM.PC > 

AM.REL- 

ASTFLGs 

BASSYM- 

BINCHN" 

BLKTOI- 

BLKT02> 

BLKTOS- 

BLKT, 

BLKTOS- 

BLKT 

BUrTBL- 

CH.AOO- 

CH.ANO- 

CH.BSL- 

CN.COL- 

CH.CQM* 

CH.DIV- 

CH.OOL- 

CH.DOT- 

CH.EQU- 

CH.HSH* 

CN.IND- 

CH.IOM- 

CN.LAB- 

CM.LP • 

CH.MUL* 

CM.PCT- 

CH.QM > 

CN.QTM> 

CH.NM- 

CH.HP . 

CH.Sm- 

CH.SUB> 

fN.tiAM- 



U-OEC-77 09:46 PAGE 5-6 





. ABS. 

MIXED 
PURE I 
OPuliE 

rxtBYT 



ERWMS DETECTED I 




CH.XCL' 

CLOSRC- 

CMOCHN> 

CPXAOD- 

CPXANO> 

CPXCQM« 

CPXCON- 

CPXDIV" 

CPXELG' 

CPXGLB- 

CPXIOR- 

CPXMUL- 

CPXNEG- 

CPXOPC- 

CPXREL- 

CPXSDS" 

CPXSTO- 

CPXSUB- 

CR » 

CSTACC- 

CSTALO- 

CSTFLG> 

CSTGBL- 

CSTMEM- 

CSTREL* 

CSTTYP- 

DEFFLG- 

DFGFLG* 

DIG.O ■ 

DIG. 9 ■ 

DIV ■ 

EN0P1 

Ef<DP1A 

FNDPtB 

I NOP? 

ENDP2A 

ENDPM 

EN0P|C 

enop|d 

INDP2T 



000047 
•*•*** GX 





ENDP2X 

ENDRTN 

ENDVEC> 

FF « 

GLBFLG- 

GSDDMP 

GSDTOO- 

G$DT01« 

6SDT02> 

GSDT03" 

GSDT04> 

GSDTOS- 

GSDT06> 

ILVL « 

INSERT- 

lOFTBL- 

LBLFLG- 

LCMASK- 

LC.SVM- 

LC.TTM* 

LET. A > 

LET.B > 

LET.C « 

LET.D ■ 

LET.E - 

LET.F • 

LET. 6 • 

LET.O ■ 

LET.; ■ 

LF 

Ll^aUF- 

LINPPG- 

LNRSYM 

IPPCNT- 

LSTCHN- 

ISTDEV 

LST.RB* 

LST.LP- 

MAXCHN' 

MDFFLG- 



0Q1300R 
000344R 
****** GX 

oooou 

^100 
)346R 

HOO 
11000 
lUOO 

?000 

•400 

iooo 

)001 

****** GX 
****** 

000002 
****** 



GX 



012 




GX 



)(i2Ili^, S225* "M94 "W WORDS ( 14 PAGES) 

ENDPl.t JO. SOiEN6PS/-$P.l!0.10JRSXPAR.MCIOCM.CENMC.FlGDF. ENDPS 



003 
003 



003 



003 



MODE « •**♦** 5X 
M0VBYT« ****** GX 
NEXT « ****** GX 
NUSSEC* 000004 
OBJDMP" ****** GX 
ORJINI- ****** GX 
OBJPNT- ****** GX 
PASS • ****** GX 
PRGIDN- ****** GX 
PRGTTL" ****** GX 
PSTFIG- 000050 
PUTLP « •**••* GX 
REGFLG* 000001 
RELCMN- 000010 
RELFLG- 000040 
REM OOOOOOR 
RLDDMP* ****** GX 
RLDTOO- 000000 
RLDTOI* 000001 
RLDT02> 000002 
RLDT03> 000003 
RLDT04> 000004 
RLDTOS* 000005 
RLDTM* 000006 
RLDT07* 000007 
RLDTIO* 000010 
RLDTII- 000011 
RLDT15> 000015 
RLDT16- 000016 
RLDT17- 000017 
RSX11M- OC 
RtlllN- 

R50UNP- • GX 

SECLST* ••*••• GX 
SECTOR* •*♦••• GX 
8ETBYT- •••••• GX 

SETMAX* •*♦**• GX 
SETWRD GX 



002 



SP.COL 

SP.LHD 

SP.PNT 

SP.POP 

SP.SPP 

SP.SVM 

SRCCHN 

STARS 

STLBUF 

SUBMAC 

SYMBOL 

SYMLST 

SVMTXT 

TAB 

TMPCNT 

TSTRLD 

VALUE 

VT 

XBSRCH 

XCREF 

XEDABS 

XEDCDR 

XEDFPT 

XEDLC 

XEDPIC 

XEDPNC 

XFLTG 

XMIT4 

XOPEXP 

XRGERR 

XSUBD 

X/ERR 

X45 

ICVRL 

tFNLHD 

tLSCNT 

ILSPNT 

llSTOP 

JSYLMD 

fyPMPG 



000010 

000002 

000004 

000012 

000006 

000000 

000002 

****** GX 

****** GX 

000001 

****** GX 

****** GX 

OOOOOOR 

000011 

000014 

****** GX 

****** GX 

000013 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

****** GX 

000000 
000000 
OOOOvl 
000000 
000000 
****** GX 

• GX 

GX 

• GX 

•••»•• GX 

• GX 

* GX 



005 



Mtt I 4 •«•• 




••*• f 



«ftA*&J% M«tAA 



«l-lkB#-«« HA.i.A. AAA* 



EXPRS MACRO M1108 U-OEC-77 09:«6 PAGE 5 



.TITLE 
.IDENT 



EXPRS 
/09.02/ 



;♦ 

t • 

i • 
J * 

i • 



COPYRIGHT (C) 1972.1977 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE UNLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 09.02 
B. BOWERING 

MODIFIED BY) 



D.N. 
C.A. 
C.A. 
C.A. 
H.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 



CUTLER 10- 

D^ELIA 

D'ELIA 

D'ELIA 

NICHOLS 

d'elia 

D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 




28-JAN-7A 
18-JUN-7* 
01 -AUG- 7* 
S1-DIC-74 
01 -MAY -75 

|o-ort-75 

01-NOV-75 
23-APR-76 
W-JUL-76 



001 

oi? 

017 
021 



024 



(VIRT MEMORY) 
(CREF ♦ "R) 
(EXP STACK OVFRfinW) 
(EXP STACK OVtRriOW) 



C.A. D'ELIA OI-Ffl-77 

CDOS* -- ADD EXPRESSION STACK PVFRFIOW GUARD. 

C.A. D'ELIA ?«-MAV-77 

CDO*P " UNARY NEGATE OF RELOCAIABLt NO? RtCOGNl/fD 
AS COMPLEX EXPRESSION. 



'OlITRM-OLOIAl TERM 
•-0L8EXP-GL0IIAL tXPRtSMON 
•-RflTRM-RElATjVt TfRM 
•-RtLEXP-RflArivt tXPRFSSION 
*-RlLTST-RELATIVE TEST 



•••• 



TT 



•••• 



1 m Mk^a 



«ftA#-ft#% M( t AA 



ti.^lkft^.'fy All.i.A AAftt ««1 



EXPRS MACRO M1108 U-OEC-77 09:A6 PAGE 5-1 



••-ABSTRM-A8S0LUTE TERM 
**-ABSEXP-ABSOLUTE EXPRESSION 
•♦-ABSTST-ABSOLUTE TEST 
**-ABSERF-SET ADDRESS ERROR FLAG 



M 000000 
65 

66 000000 

67 OOOOM 

68 000010 

69 000012 
70 

71 OOOOU 

72 000020 

73 000020 
7A 000022 

75 00002* 

76 000030 
n 000030 

78 000032 

79 OOOOAO 
B: 0000*2 

82 000050 

83 000052 
8* 000054 

85 000060 

86 000062 

87 000066 

88 00007* 

89 000076 

90 000100 

91 00010* 



PURE PUREIJ 



00*767 
00*767 
005700 
000*02 



001**0 
000*50 



001*3* 
082767 
001**1 
022767 

002*2* 
000*3* 

000*02 

132767 
001*23 
000*11 

000*02 
001*11 
1*767 




001*03 
1V767 
00020/ 



000662 
OOOOOOG 



r^TRMI : 



CALL 
CALL 
TST 
BR 



000200 
000050 



OOOOOOG 
OOOOOOG 



GLBTRM::TERM 

GTRMCK: 

BEQ 
BR 

GLBEXPiiEXPR 

GEXPCK: 

BEQ 
BIT 
BEQ 
CMP 



000300 



0003*0 




OOOOOOG 



0000*0 
000300 
000^00 



BIT 

BR 
RELTRMi.-GLBTRM 

BR 
RELEXPi.'GLBEXP 
OOOOOOG RELrST;:BlTB 

BEQ 

BR 
ABSTRMiiGLBTRM 

BR 
ABSEXPmGLBEXP 
OOOOOOG ABSTSTmBITB 

BEQ 
AiSERRnCLR 

CLR 

CALL 
AiSERPi ERROR 
ABSERXt MOV 

RETURN 



OOOOOOG ABNTSTi BITB 

OOOOOOG RfxrSTi BITB 

BEQ 
OOOOOOG SETTPXt BIS8 

CPMRTNi RETURN 

;♦ 



TERM! 
SETXPR 
RO 
GTRMCK 



ABSERR 
ABSERX 



jt*017 

••INTERNAL » ' RV TO GET GLOBAL TERM 
.•RESTORE E .SESSION MODE REGISTERS 
;TEST SUCCESS/FAIL 
.•BRANCH INTO COMMON CODE 

••GLOBAL TERM 

••REF LABEL TO VALIDATE TERM 



••GLOBAL EXPRESSION 
••INTERNAL ENTRY TO VALIDATE EXPR 

#CPXFLG^FLAGS ,•♦♦001 IS EXPRESSION COMPLEX? 

ABSERX .•♦♦001 NO, JUST LEAVE 

*RLDLEN-2.CPXSTL .•♦♦OOI YES, IS THE COMPLEX STRING TOO LONG... 

;^^001 ... FOR A SINGLE RLD RECORD? 
ABSERR ;^^001 VES. FLAG EXPRESSION IN ERROR 

ABSERX 

;RELATIVE TERM 
RELTST 

'RELATIVE EXPRtSSlON 
fCPXFLGIGLBFLG. FLAGS .•♦♦001 EXPR CAN'T BE COMPLEX OR GLOBAL 
ABSERX 
ABSERR 

••ABSOLUTE TERM 
ABSTST 

; ABSOLUTE EXPRE!iStON 
«CPXFLGIGLBFLG!R(LFLG. FLAGS ;^^001 EXPR MUST BE ABSOLUTE 

MODE ; 

RELLVL 

JAPCPX ;^^001 CLEAR CPXROl t INII STRING LENGTH 

VALUE •RO ;RETURN WITH VALUE IN RU 



tRELFLG. FLAGS .♦♦019 IS EXPRESSION RELOCATABLIT 
5ETCPX .'♦♦019 rfj, Afl^OllMf ffST fAllS 

#GLBFLGICPXFLG. FLAGS ^♦♦OOl 11 fXPR GlCBAl OR fOMPLlX' 



CPXRTN 
*rPXFLG. FLAGS 



iil! '^'' 



CONTINUE FVAUIAtlNG IT 
COMPLfX RELOCATION IXPRESStON 



; ••-rXPR-EXPRESSION EVALUATION 
i- 

lIPRii SAVRIO 



llAVI RIOISTIM 



*«** N 4 •••• 



»M»M« i»AjiM\ M>«A« lx-ftty-»y ftU.lA tkkt.t t-3 



EXPRS MACRO Ml 108 U-OEC-77 09:^6 PAGE 5-2 



115 000206 

116 000212 

117 00Q2U 

118 000216 

119 000220 

120 000224 

123 000240 
12A 000244 

125 000246 

126 000252 

127 000254 

128 000260 

129 000262 
150 000266 

153 000274 



000276 

135 000304 

136 000306 

137 000310 



142 

148 



\\\ 



iU 



lit 



004767 
005700 
001441 
005046 

051316 

001403 
004767 
000765 
042716 
001403 
032714 
001006 
006267 
001010 
103011 
005716 
001407 

005016 
000402 
152713 
052613 

000207 
012746 
010046 
012U6 
012146 
012146 
012146 
012146 
004767 

01^643 
'10302 
1264] 
12645 
01264) 
124?^4 



000454 




000056 
177776 
177770 
OOOOOOG 



000200 
001606' 



EXPIi 



IS: 



21: 



61: 



71 1 



31: 

4ti 

Sli 
10S: 



177432 
000012* 



177S64 



177530 



IOOI1 



12ti 



CALL 

TST 

BEQ 

CLR 

SETXPR 

BIS 

CHSCAN 

BEQ 

CALL 

BR 

BIC 

BEQ 

BIT 

BNE 

ASR 

BNE 

BCC 

TSf 

BEQ 

ERROR 

CLR 

BR 

BISB 

BIS 

setn; 

RETURN 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

CALL 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

CMPS 

BEQ 

rSTB 

n?. 

BEQ 

CALl 
CMPS 
ASR 



TERM! 

RO 

5t 

-(SP) 

(R3),(SP) 
BOPTBL 

10s 

It 

#-1-REGFLG,(SP) 

6t 

#177770. (R4) 

T% 

RELLVL 

3S 

4t 

(SP) 

4t 

R 

(SP) 

41 

#CPXFLG.(R3) 

(SP)».(R3) 

RO 



(SP) 



(TSTXOPC, 

RO,-(SP) 

(Rl)».-(SP) 

(R1)».-(SP) 

(R1)*,-(SP) 

(R1)*.-(SP) 

(R1)»,-(SP) 

GTRMI 

«EXPBAK«1Q.,R3 

(SP)».-(R}) 

(SP)».-(R3) 

RS.R2 

(SP)».-(R3) 

(SP)t.-(R5) 

(SP)».-(R3) 

-(R2),-(R4) 

1001 

(r|) 

1001 
(R4) 
1001 

srrrpx 

(R^M. (R4)» 



(SP 



-(R4) 



)» 



ABxfsf 
(R2)*.(R4)* 
(SP) 
•(SP)» 



;GET FIRST TERM 

.•TEST RESULT 

;EXIT IF NULL 

;NON-NULL, SET REGISTER FLAG STORAGE 

;SET EXPRESSION REGISTERS 

.SAVE REGISTER FLAG 

;SCAN THE BINARY OPERATOR TABLE 

; BRANCH IF NOT FOUND 

; FOUND, CALL HANDLER 

.•TEST FOR MORE 

.-MASK ALL BUT REGISTER FLAG 

.•BRANCH IF NOT REGISTER 

;IN BOUNDS? 

; NO. ERROA 

.•TEST RELOCATON LEVEL 

.•BRANCH IF NOT OR 1 

•BRANCH IF 

.'RELOCATABLE. TEST REGISTER FLAG 

.•BRANCH IF NOT SET 

;REL ANi) REG. ERROR 

.•CLEAR REGISTER BJT 

.♦♦001 SET COMPLEX RELOCATION EXPRESSION 
.MERGE REGISTER BIT 
;SET TRUE 

.'♦♦001 RETURN THRU COMPLEX OPCOOfR ROUTINE 
.•♦♦OOI STACK OPERATOR ROUTINE ADDRESS 
; STACK SYMML 

; MODE. 

; VALUC. 

; AND REL LEVEL 

.GET NEXT TERM 

.•POINT TO fXPRFSSION SCRATCH AREA 

;UNSTACK PREVIOUS RdOCATION lEVEl, 

VALUE, 
{LEAVE R2 POINTING TO PREVIOUS VALUE 
; MODE (FLAGS I PSECT). 

AND SYMBOL. 

^♦019 ARE PSECT'S THE SAME? 

{♦♦019 YES, PSECT TEST SUCCESS 

.•♦♦019 ELSE. IS FIRST VALUE A CONSTANT? 

.•♦♦019 YES. PSECT TFSt SUfftSS 

.'♦♦019 ELSE. IS SfCONO VAlUE A (ONSIANT? 

,•♦♦019 YES, PSECf TEST SUtffSS 

,•♦♦019 ElSf, FXPRFSSION Will Bf (OMPlfX 

,♦♦019 RFSTORf RFGISTERS 

;!S OPERATOR KW ABSOIUTt VAIUFS ONLY? 

NO 
IneRCE ATTRIBUTED AND PS(rt NlJVItRS 
.'♦♦001 COMPLEX IF BOTH NOT ABSOIUTE 
.RfMORt RfGISTtRS 
.RfSTORE DISPATCH ADDRESS 
.•DISPATCH TO BINARY OPERATOR FUNCTION 



*••• I 4 •••• 



n 



^A» fcj% ^t tAft 



«^-i^»^-^T ftB.AA 



Hkf.t t-t 



EXPRS MACRO M1108 U-DEC-77 09:46 PAGE 5-3 



172 OOQQOO 

173 000000 
17A 

175 000012 

176 000000 

177 000000 

178 000(XK 

179 000010 

180 OQOOU 
ig 000020 

183 000030 
1M 000032 

186 000430 

187 000434 

188 000436 

189 000442 

190 000446 
000450 
000454 
000456 

194 000460 

195 000462 

196 000466 

197 000470 
i74 
^76 



.PSECT IMPURE, D,RW 
EXPBAK: .BLKW S 



191 
192 
195 



000000 



004767 
005414 
005467 
01270O 
00040;^ 
012700 
062224 
061214 
024244 
032742 
001416 
032744 
001414 
151214 
004767 
5767 
1005 
2714 
1002 
2714 
"207 




177526 

OOOOOOG 
001010 

000410 



1 77700 
177700 

177456 
OOOOOOG 

000300 

177440 



002410 
001010 
001410 



BOPTBL : 



PURE DPURE.D 



GCHTBL 

GCHTBL 

GCHTBl 

GCHTBL 

GCHTBL 

GCHTBL 

.WORD 

PURE 



B0PSU8: 



CALL 

NEb 

NEG 

MOV 

BR 

bOPADD: MOV 

ADDX 



St I 

41 1 



ADD 

ADD 

CMP 

BIT 

BEO 

BIT 

BEQ 

BISB 

CALL 

TST 

BNE 

BITB 

BNE 

BIC 

RETURN 

MOV 
MOV 
BIS 

RETURN 



BOPAND: COM 
BIC 
MOV 
RETURN 

BOPIORi Bt5 
NOV 

Rf nmN 

BOPMUl I MOV 
MOV 
MOV 
BPl 

111 MOV 



CH.ADD, BOPADD^I 

CH.SUB, BOPSUBH 

CH.MUL, BOPMUL 

CH.DIV, BOPOIV 

CH.ANO. BOPAND 

CH.IOR, BOPIOR 

PUREI.I 



.•♦♦017 

; PREVIOUS TERM STORAGE 

.•♦♦017 

.•BINARY OP TABLE 

• • •* • • 
I Ia » • * 



V 



,•♦♦017 



REXTST .•♦♦001 TEST FOR COMPLEX EXPRESSION 

(R4) ; -, NEGATE VALUE 

RELLVL : AND RELLVL 

«PXSUB*400 ICPX0PC.ro .'♦♦OOI set implex opcode FOR SUB 
ADDX M*001 BRANCH INK rOMMON CODE 

»CPXADD*400!CPXOPC.R0 .♦♦OOI SET COMPLEX OPCODE FOR ADD 
(R2)^.<R4)^ ,'♦♦001 ♦ ADD VALUES 

(R2).(R4) ; AND RELOCATION LEVELS 

-(R2).-(R4) :POINT BACK TO VALUES 

i17?460!GLBFLG!CPXFLG.-(R2) .♦♦019 FIRST VALUE CONSTANT? 
'!„.««. ^♦♦Ol* YES, CONSIDER ADDITION DONF 

f177400!GL8FLG!CPXFLG.-(R4) ,•♦♦019 SECOND VAl Uf CONSTANT? 
41, ;^^019 YES. USE ATTRIBUIFS OF FIRST VAl UF 

(R2).(R4) ;^^019 NO CONSIANTS--MEHGI ATTRIBUTES 

REXTST ;^^019 COMPLEX IF ANY GIOBALS 

RELLVL ;CHECK RELOCATION lEVtL 

#CPXFIG!GLBFLG.(R4) ^♦♦019 IS EXPR GLOBAL OR COMPLEX? 
)> , ^ M^OI* YES, LEAVE 
#177400!RELrL0,(R4) ,'${1 ATTRIBUTES FOR CONSTANT 



(R!)^.<R1)^ 
(R3)».(R1)« 
(R!)^.(R1)^ 



.•TRANSFER PREVIOUS SYMBOL NAME 
'and MERGE PRFVIOUS ATTRIBUTES 



i;^ 



(R2) 

<R2),(R4) 

#CPXANO«400!rPXOPC.R0 .♦♦001 SET COMPLfx OPCODE FOR AND 

(R2),(R4) 

tCPxlOR»400ICPXOPC.R0 ,♦♦001 SET fOMPlfX OP'ODf 'OR OR 

(R?),RO iFETCM FIRST ARGUMENT 

fCPXMyL»400!CPXO*C,-(SP) ^♦♦OOI SIX COMPLEX OPCODE FOR MUl T 

RO.-<SP) ;$AVE A COPY 

If jPOSniVM 

RO . ; n6. MAxI it so 

15*'. R5 in\ srroND arc 

i\ jlRANtM IF POSITIVE 

ni jNtCATIVI, MAM IT ♦ 



•t«* J 4 •••• 



t^^imn mwnm ti.-ittf-»» na.Lt. mAt.t »-A 



EXPHS NACRO «n08 U-OEC-77 09: A6 PAGE 5-A 



QQQ6Q2 




^7 000654 

we '^J0656 
249 000660 

JO 
SI 

ji 

'59 000674 




0t126! 

» 

005000 

005726 
100001 
005400 
010014 
012600 
000?<>' 




002010 



COM 
2t: nUL 

MOV 
EJR 

BOPDIV: MOV 
MOV 
MOV 
BPL 
NEC 

IS: MOV 
BPL 
NEC 
COM 

21: CLR 
DIV 

BOPDVX: TST 
BPL 
NEC 

Itt MOV 
MOV 
RETURN 



(SP) .-TOGGLE RESULT SIGN 

R5.R0 ;MULTIPLY 

RI.RO .-SET FOR EXIT 

BOPOVX .-EXIT THROUGH DIVIDE 

(R4).R3 :SET DIVISOR 

fCPXDIV*400!CPX0PC,-(SP) .♦♦001 STK COMPLEX OPCODE TOR DIV 



R3.-(SP) 

II 

R3 

(R2).R1 

2t 

R1 

(SP) 

R5,R0 

(SP)» 

II 

RO 

R0.(R4) 

(SP)^.RO 



.SAVE A COPY 
.■BRANCH IF PLUS 
.'MAKE IT THUS 
;SFT QUOTIENT 
;AGAINI!! 



.•OPERATE 



;TEST RESULT 

: OK AS IS 

;N0. NEGATE IT 

;SET RESULT 

.•♦♦001 SET THE COMPLEX OPCODE 



••-TERM-TERM EVALUATION 



TERM:; 
TERMl: 



000032 
000016 




lit 

TERMIOt 



OOOOOOG OOOOOOG 



0UO0O4 

000010 
000100 

000100 

owoooo 

OIHWOOO 



nil 



IMi 
t4li 



SAVREG 

SE'XPR 

CLR 

CLR 

CALL 

BIC 

CLR 

BIT 

BCO 

INC 

INC 

JMP 

CITSVM 

BCO 

CMP 

BEQ 

SSRtH 

BCO 

BIT 

BEO 

ERROR 

K 

BIT 

m 

IRROR 
IC 

Cv 

MOV 



(R3) 

(R4) 

TERM10 

tOEMLGILBLFLG 

RELLVL 

»RELFIG.(R3) 

II 

RILLVL 

EXPFLC 

SETNB 

TERM20 
SYMBOL .R 5000 I 

141 

161 
«MDFFLC.(RS) 

D 
«D(FFLG.(RS) 

»CIBFIG.(RS> 

CRFTRM 

U 

fGlBFLG.(R3) 

CRFTRM 

fClCNAM.Rl 

'SYMBOL. Rl 



;SAVE REGISTERS 
;REF LABEL FOR INTERNAL ENTRY 
; AND SET 'EXPRESSION" TYPr 
; CLEAR NODE 
.• AND VALUE 
: PROCESS 
IM0FFLG.(R5) .CLEAR FXTRANEOUS 

; ASSUME ABSOLUTE 
.•TRUE? 

; NO. RflorATABlt 

;NARK AS (XPRESSION 

;rx|T WITH NON-BLANK AND RO SET 

:TRV rOR A SYFMl 

; BRANCH IF NOT A SYMBOL 

.LOCATION COUNTER? 

; YES. TREAT SPECIAL 

.•SEARCH THE SYMTOl TAALC 

.'BRANCH IF NOT fOUNO 

;MULT|PIY OEMNID' 

^♦012 ERROR-RfF TO MULTI-Olf INtP I ABEL 

.'DEFJNtDT 

; Y(S 

• NO. ClOBAl'* 

;l» Nf TtS--(OMPlttt tFRN I'mulSMNO 

;N0. UNDEFINED ERROR 

,'(LEAR INTERNAL GLOBAL FLAG 

.fQ^'tlf 't"** PRO{fS«i|Wi 
;DOT, ravF to WORK I N^ ARM 



•••• R 4 •••• 



I »M^fca 



**A#fc»fc ■XBAa <A-K»^-»f no ■ AA fcAAt t»t 



CXPRS MACRO KI1108 U-OEC-77 09:A6 PAGE 5-5 



286 001054 004767 OQQOOQG 

287 001 OAO U271_5 177757 



1044 000474 
1046 



It 



005015 
005014 
052767 
001005 
052715 
000403 



Oi«'767 
1401 
5015 

000450 
0167 



OOU70 
100005 

to; 
mm 

105700 
00142? 



00 1405 




OOl.'If. 
001 «!i!^ 



001005 



16t: 



CALL XMIT4 

BICB #»C<RELFLG>.(R5) .•♦♦017 CLEAR ALL BUT RELOCATION FLAG 

BR TERM28 

l^^008 



.IF NOF XOPEXP 



MOV 

OSRCH 

MOV 

TST 

BMI 

MOV 

CLR 

.ENOC 



ILSPNT.-(SP) 

(SP)^,ILSPNT 

(R5) 

171 

ffSVMLST.SLSNDX 

tLSFLG 



OOOOOOG OOOOOOG 
000120 

OOOOOOG OOOOOOG 



IBti 
201: 



16702 OOOOOOG 



000056 
000044 



ITIi 
CRFTRM: 

TERM20: 
21ti 



ii%t 



000012 

000012 
000056 



241 1 

2)1 1 



CLR 
CLR 
BIT 
BNC 
BIS 
BR 

ERROR 

INSERT 

BIT 

BEQ 

CLR 

CRFREF 

BR 

MOV 

CVTNUM 

BEQ 

BPL 

ERROR 

CMP 

BEQ 

.IF NOF 

CMP 

BEQ 

.ENOf 

TSTB 

BEQ 

rRROR 

!* 

HTStM 

MOV 
BR 

CMP 

Jf NOf 
ISRCM 



(R3) 

(R4) 

«ED.GBL.fDMASK 

181 

#DFGFLGIGLBFLG. 
20$ 



«ED.G8L,EDMASK 

CRFTRM 
(R3) 

TERM2B 

CRA0IN.R2 

rERM50 

221 

T 

R5.#CH.0Or 

24i 

XEDLSB 

R5.«CH.D0( 

24i 

RO 
rPRM28 

N 



fi;.,o. 



♦ ♦018 

SAVE SYMBOL TABLE POINTER 

♦♦008 SEARCH THE PERMANENT SYMBOL TABLE 

RESTORE SYMBOL TABLE POINTER 

OP CODE? 

YES 

SET SYMBOL TABLE LIST NUMBER 

SET SEARCH FAILURE FLAG 

♦♦018 (XOPEXP — NO OPCODES IN EXPRESSIONS) 



.•CLEAR ALL SYMBOL MODE BITS 
;ANO VALUE 

;AUTO GLOBAL SYMBOL DEFAULT ENABLED? 
:IF NE NO DEFAULT GLOBAL S 
(R5) :CLSE. SET THE FLAGS 
;ANO BRANCH TO INSERT ENTRY 
I 



NOT IN TABLE. INSERT AS UNDEFINED 

AUTO GLOBAL ENABLED? 

IF EQ YFS--rOMPirTt frRM PROCESSING 

BE SURE MODE IS ZERO 

GENERATE CREF REFERFNCE 

ASSUME NUMBER IS IN CURRfNI RAUlX 
CONVERT 

NOPE. MISSED AbAIN 
NUMBER. ANY OVERKOW? 

YES, FLAG IT 
NUMBER, DECIMAL? 

YES 

NO. LOCAL SYMBOL^ 
YEl 

NO. ANY NLMBERS O^IT OF RANGE? 

NO 
;VES. FLAG IT 



"." OR "I", WERT WE CEdMAl? 
YES 



R5,*CH.D0I 



t 



fRY AGAIN WMH DECIMAt RADIX 



»' 



i DECIMAL 7 



nmif 



tm. LOfAl SYMBOL 
(MAnch If FOUND 



«M« i 4 •••• 



I titkfel 



■Arfen MllAl 14.Mr>yy 0«i4A PAM 5-6 



EXPRS HACRO mi08 U-l)EC-77 09: A6 PAGE 5-6 



yU 001 22A 
3A5 001 IS2 
3A6 001 2M 
3A7 001 2A4, 
MS 001 1«6 
M9 001 hi 
550 001 
«1 001 
352 001 

5 Ml 
5?? 001 



g 





?? 



062767 
0115A6 
U271S 
0QU07 
152713 
00H02 
5267 
5267 
. V 
012613 



000207 

W 

1QU05 
005002 
004710 
000761 
000167 



000000 



""J1 



i: 



»a 



OOU28 



00n6« 110521 




000002 

177637 

000100 

OOOOOOG 
OOOOQOG 
000330 



TERM26: 

TERM27! 

OOOOOOG TERn28; 



OOOOOOG 



OOOOvOfi 



000001 



Qimo\ 



II: 
2t: 

ALT 28: 

TER«29: 
TEimSO: 



1001: 



.ENDC 

ERROR U ; NO. fLAG AS UNDEFINED 

GETCHR .-BYPASS DOT OR DOLLAR 

ADD #2.CPXSTL ,•♦♦001 UPDATE COMPLEX STRING LENGTH FOR CONST 

NOV <RS),-(SP) .•♦♦001 save FLAGS/SECTOR word ^ ^^^^ 

BICB #*C<RELFLG!GLBFL6>,(R3) ^♦♦OOI SAVE ONLY GLOBAL/REL FLAGS 

BEQ 21 . .•♦♦001 BRANCH IF TERM IS ABSOLUTE 

BITB «GLBFLG.(R3) .•♦♦001 IS THE TERM GLOBAL? 

BEQ II .♦♦001 SKIP IF NOT 

INC CPXSTL .•♦♦001 INCR COMPLEX STRING LENGTH BY 2 MORE... 

i^^. 5S£?Ib '**9Si\ A-: '0" SI-^AL I 1 MORE FOR RELATIVE 

£5^'- ^*?S?'^*.... •**5$ '•"^ ELEMENT IN COMPLEX ROLL 

mov (sp)^.(r3) .•♦♦001 restore flags/sector word 

setnb .•♦♦001 return pointing to non-blank 

setn; ro ;flag as found 

RETURN 

CHSCAN UOPTBL ; SCAN UNARY OPERATOR TABLE 

BEQ TERM29 ; NOT THERE 

CMP SP.ISTKGD .•EXPRESSION STACK OVERFLOW? 

BLOS 1001 ;IF LOS YES 

CLR R2 ;CLEAR FOR FUTlIRE USE 

CALL (RO) .'FOUND, GO AND PROCESS 

BR ALT28 .•♦♦OOl EXIT TRiJf VIA Al ?FRNATE EXIT 

JMP lOFVL ;PROCESS OVERFLOW/TERMINATE SCAN 



; CD034 
; CD0S4 



; CD054 



UOPTBL I 



PURE DPURE.D 



,•♦♦017 



GCHTBL 

GCHTBL 

GCHTBL 

GCHTBL 

GCHTBL 

GCHTBL 

GCHTBL 

.WORD 

PURE 



GTRMI 

TERM/i2 

TERMA4 

TERMA5 

TERM46 

TERM<i7 

TERM50 



riRMA2i 

TERM44i! 
TERW5i 

Hi 



riRM46! ABSTRM 
If TURN 



CH.ADD. 
CH.SUB. 
CH.QTM. 
CH.XCL. 
CH.PCT. 
CH.LAB. 
CH.UAR. 

PURE 1. 1 

#1,-(SP) 
COMTRX 
R2 
R4.R1 



fERMAI 

xEDir 

•CHRPNf,(R1) 
«>00.(RI)^ 

R5.(R1M 

'i . 

TfRM?7 
mGrLG.(RS) 



* a Nt 

I MM 

lyM 

• >«•) 



1**00) INOHATf NEGATF BY 1 ON STACK 
^♦♦Ppl USr (OMMON CODt- TO PROCESS 
i , MARK I f 

1 ! SET IfMP SfORf RfOISTEFt 

;POtNt BACK TO OPFRAfOR 
;GrT THE NEXT (HARA(trR 
; ERROR IF roi 

; STORE ABSOlUtf (HAR 

;CLtAR POSSIBlf SIGN BIT AND INDEX 



jANOTHtR (HARAtTER 
; YES 

.•BYPASS LAST (HAR 
.'REGISTER EXPRFnsiON 
JLAG n 

JLIFT ANGll BBACKIT StIN 



TT 



•••t 



•••• 



1 



K»t tufan miM MmMtmff Mtkts t»n,i S'T 



EXPRS MACRO Ml 108 U-OEC-77 09:A6 PAGE 5-7 



4.00 00U10 

401 OOUU 

402 00U20 
4.03 0OU24 
40A 00U26 
A05 00U32 

406 00US4 

407 001440 
40S 001450 
409 001452 
410 

411 001454 

412 000070 
415 000070 

414 000674 

415 000100 

416 000104 



417 



420 000110 

421 000114 

422 000116 
423 

424 001454 

425 001456 
1462 
1466 
1470 
1472 
1476 
1502 

oono4 

001S06 
001)10 

001 ^r. 
001)20 



4W OOUU 

440 001540 

441 001544 




45c' 00155.' 
455 001556 

454 00156/ 

455 001564 

456 001566 



004767 176572 

004767 176410 

020527 000076 
001003 

000722 

000167 176476 

001771 
000110 



000000 



005046 
004^67 
004767 
005114 
061614 
005467 
012700 
162600 
000500 
000457 
06270? 
062^0/ 
062 70? 
016746 
01026^ 
004^67 
012667 
000207 




TERn48: 



CALL 

CALL 

CMP 

BNE 

6ETCHR 

BR 

JMP 



TERM50: CHSCAN 
BEQ 



JMP 



EXPI 
GEXPCK 
R5.#CH.RAB 
TERM48 

ALT28 

ABSERF 

UARTBL 

TERM48 

(RO) 



UARTBL I 



PURE DPURE.D 

6CHTBL LET.C, r£RM51 

GCHTBL LET.D. TERMS2 

GCHTBL LET.O, rERM53 

GCM1BL LET.B rERM54 

.IF NOF XFLTG 

GCHTBL LET.F, TERM55 

.ENDC 

GCHTBL 'R. 

.WORD 

PURE PURE 1 , 1 



.•EVALUATE EXPRESSION 

.•VALIDATE IT 

;">"? 

.•♦♦001 NO, REPORT ERROR 

.•♦♦001 YES, BYPASS IT 

,•♦♦001 EXIT 

.-ERROR. FLAG IT 

.•"•"-SCAN ON NEXT CHARACTER 

; INVALID. ERROR 

.•CALL ROUTINE 

.•♦♦017 

;UP ARROW TABLE 

; 'C 
. •!) 

; •O 



»F 



TERM)6 ,•♦1019 •« 



;^^017 



176316 
176464 



OOOOOOG 
00401 1 



000002 

000006 

000002 

OOOOOOG 

OOOOOOG 

1 ^6240 

OOOOOOG 



TERM51 : 
COMTRXi 



CLR 
CALL 
CALL 
COM 
ADD 
NEG 
MOV 
SUB 
SWA. 
BR 
TERM52! ADD 
rERM55i ADD 
rERM54; ADD 
MOV 
MOV 
CALl 
MOV 
RETURN 



-(SP) 

GTRMl 

ABXTST 

(R4) 

(SP).(R4) 

RELLVl 

»CPX0PC*400 

(SP)^.RO 

RO 

STXOPC 

«2..R2 

#6..R2 

#2..R2 

rRADlX.-($P 

R2.CRADIX 

GTRMI 

($P)«.CRADI 



{♦♦001 INDICATE COMPLEMENT BY ON STACK 
;GET GLOBAL TERM 

.•IF RELOCATABLE, DECLARE COMPLEX EXPR 
{♦♦001 COMPLEMENT VALUE 
;^^001 MAKE IT NEGATE IF 1 ON STACK 
.-♦♦001 NEGATE THE RELOCATION LEVEL 
•CPXCOM.RO ,-♦♦001 SET CPX OPCODE fOFilPt (BKWDS) 
i**00} MAKE IT NEGATE IF 1 ON STACK 
.-♦♦Cgi STRAIGHTEN OUT THF BYTES 
;^^601 STORE OPCODE IN tfXROL 



; C0040 
.•••-1 



.IF NDF XFlTO 
TtRM55 CAll FITGIW 

BEQ TERM48 

RETURN 
.INDC 



STACK CURRENT RADIX 
RFPtACf WITH tOCAL 
fVAlUATF TERM 
;REST0Rf RADIX 



;^^018 PROCESS ONt WORD FLOATING 
.'ERROR IF NULL 




TIRM56I 



lOti 



CAll 



StrSYM 

«64.R{ 
CETR50 
TFRM/I 



TMI '1 
I R? 



BACKUP CHAR PTR TO 

SET rONTROl MASK IN 

FlTCM A 1APIX-50 (MAR 

IF Ml MM-RADSO tN(iHINTfR(D 

J CHECK tONTROI MASH 

lIF 



EQ SKIP (MARS PAST S 



• •*• 



TTT 



•••• 



EXPRS MACRO mi08 U-OEC-77 09:*6 PAGE 5-8 



iu m^ m\ 



4,59 001 57A 
A60 001600 
461 001602 
A62 001604 
465 
464 

465 001 60^. 

466 001612 

467 001614 

468 001616 



004767 OOOOOOG 

060014 
000764 



20t! 



301 > 



ASR 

BCS 

CALL 

W 

ADD 

M 




012703 
011346 
010013 
004767 

000207 



OOOOOOG 



000004 



STXOPC: 



MOV 

MOV 

MOV 

CALL 

MOV 

RETURN 



MULR50 

R0.(R4) 
101 



«FLAGS.R3 

<R3),-(SP) 

R0.(R3) 

APPCPX 

(SP)«,(R3) 



0052^7 OOOOOOG 



j^PPCPXi INC CPXSTL 
APPEND CPXLSr 
RETURN 
.END 



; SHIFT CONTROL MASK 

;'r CS PROPER RAD50 POWER REACHED 

;ELSF. MULTIPLY Br 50 

;REPEAT MULTIPLY LOOP 

:ADD RESW.T TO ACCUMULATED VALUE 

.'REPEAT FOR 3 RADIX-50 CHARACTERS 



;*«001 POINT R3 TO FLAGS 
;t«001 SAVE FLAGS/SECTOR WORD 
;m001 SE) OPCODE FLAG K NIIVER 
;»»001 PUT ELEMENT IN CPXROL 
:«»001 RESTORE FLAGS/SECTOR WORD 



[♦♦OOl 



;tt001 INCR COMPLEX STRING LENGTH FOR OPCODE 

.'APPEND COMPLEX EXPRS ELE TO LIST 

.'♦♦001 



M«* 



FT 



••«• 



exPRS MACRO nn 08 

SYMBOL TABLE 



U-OEC-77 09:«6 PAGE 5-9 



ABSERF 
ABSERR 
ABSERX 
MSEXP 

ABSTRM 

ABSTST 

ABXTST 

ADOX 

ALT28 

AM.DEC- 

AM.DEF- 

AM.INC- 

AM.NDX- 

AM.PC ■ 

AM.REL- 

APPCPX 

APPEND- 

AST 

BLK 

BLKTi 

BLKTi 

BLKTi 

BLKT05> 

iLKT06- 

BOPAOO 

BOPANO 

BOPOIV 

BOPDVX 

BOPIOR 

BOPMUL 

BOPSUB 

BOPTBL 




!RG 
IU4R 
0001 06RG 
0001 OORG 
I112RG 
I152R 
i54R 
11500 



00? CH.LP 



002 
002 



000020 

000060 

000007 

000067 

001626R 

••••«• GX 

0001 u 
000001 




CHSCAN* 
CH.AOt» 
CH.AND- 
CH.BSL« 
CM. COL- 
fM.CWr 

CM.OIV' 
CM. POL* 
CM.OOt' 
CM.fOO* 
CM.MSMo 
CM.INO* 
vM.IOR* 
CM. LAB* 

. /MS. 





CM.nUL' 

CM.PCT« 

002 CM.QM * 

002 CH.QTM* 

002 CH.RAB> 

002 CM.RP > 

002 CM. SMC 

002 CM. SUB" 

CM.UAR- 

CM.XCL" 

CLCNAM> 

COMTRX 

CPL ■ 

CPXADD' 

CPXANO" 

002 CPXCOM> 

CPXC0N> 

CPXDIV- 

CPXrLG- 

CPXGIB- 

CPXIOR* 

CPXLST* 

CPXMUL- 

CPXNEG- 

002 CPXOPC- 

002 CPXREL* 

002 CPXRTN 

002 CPXSDS> 

002 CPXSTL* 

002 CPXSTO* 

002 CPXSUB- 

004 CR 

CRADIX- 

CRFTRM 

CSTACC- 

CSTALO* 

CSTrLG- 

CSTGBl' 

CSTMEM* 

CSTRIL. 

CSTTYP. 

CVTNUM- 

OEMLG* 

DrorLC* 

DIG. 5 • 
DIG. 9 • 
DIV ■ 



m 

000045 
000077 
000042 
000076 
000051 
000073 
000055 
000136 
000047 

001456R 

06000 

000011 
000020 

)04 

1200 

"116 

****** GX 

111 

17 




PURII 

iimm 000012 
mm 000116 
rpRoRs DrtfcTroi 

VlRfUAl MiMORr DSrft, 
PYNAMK MTMllRYi M7 



EDMASKe 
ED.GBL- 
ERRBTS> 
ERR. A > 
ERR.D > 
CRR.N « 
ERR.R > 
ERR.T > 
ERR.U > 
EXPBAK 
EXPFLG- 
EXPI 

002 EXPR 
Ff ■ 
FLAGS ■ 
GETCMR* 
GETR50> 
GETSVM- 
GEXPCK 
GLBEXP 
GLBFLG- 
GLBTRM 
GSDTOO 
GSDT01 
GSDTO; 
GSDTO! 
0SDT04 

002 GSDT05 
GSDT06 
GTRMCK 
GTRF^l 
ILVL 
INSERT 
LBLFIG 

002 LET. A 
LET.B 
LIT.C 
LET.D 
LET.E 
LEi.F 
LIT.G 
LEI.O 
IV. I 
LF 

LiNLtN 
LPP 
ISRCM 



****** 6X 
****** GX 
****** 6X 
****** GX 
****** GX 
****** GX 
****** GX 
****** GX 

****** cx 

OOOOOOR 
****** GX 

000206R 

m^ 

****** GX 
****** GX 
••**•* GX 

****** GX 
I050R 
J24RG 
^JIOO 
00001 4RG 



LSTLEN> 
LST.KB> 
LST.IP« 
MOFFLG' 
MODE > 
MUL > 
MULR50> 
NUtSEC' 
OBJLEN- 
003 PSTFLG" 
REGFLG> 
002 RELEXP 
002 RELFLG- 
RELLVL 
RELTRM 
RELTST 
REXTST 
RLDLEN- 
002 RLDTOO- 
002 RLDTOI* 
RLDTO?> 
002 RLDTQS- 
RL0T04- 
RLDT05* 
RLD106* 
RLDT07> 
RLDT10' 
RLDTII- 
RL0T15- 
002 RL0T16' 
002 RLDT17- 
RSX11M* 
RitllM- 
R)00OT> 
SAVREG- 
SfTCPX 
SHNB • 
8ETSY> 
SETXPP* 
SMLLIN* 
SPACE . 
SRCLEN^ 
SSRCM 



0Q02Q4 
000001 
000002 
000004 
****** GX 
****** 6 
****** GX 
000004 
000052 
000050 
000001 
000062RG 
000040 
■ ****** GX 

0Q00S4RG 
000066RG 

'W 

000000 
000001 
000002 
000003 
000004 
000005 
0OO006 
000007 
000010 
000011 
000015 
000016 
17 
'000 
000000 
****** GX 
****** GX 
0001 72R 

•***•• cx 
****** cx 
****** cx 



suirN- 

SlXOPt 
$U6MAC< 
SYMBOl " 




TAB « 000011 
TERM 000662RG 002 
TERMI 000666R 002 
TERM10 000734R 002 
TERM20 001116R 002 
TFRM26 001224R 002 
TERM27 0012S2R 00? 
TERM28 001236R 002 
TERM29 001306R 002 
TERM30 001 31 OR 002 

TERM42 001342R 002 

002 TERM44 00135OR 002 
TERM45 001352R 002 
TERM46 001376R 002 
002 TERM47 001 41 OR 002 
002 TERM48 001434R 002 
002 TERM50 001440R 002 
TERM51 001454R 002 
TERM52 001 51 OR 002 
TERMS 3 001514R 002 
TERM54 001520R 002 
TERM56 001546R 002 
TTLLEN- 000040 
UARTBL 000070R 004 
UOPTBL 0OOO32R 004 
VALUE ■ ****** GX 
VT . 000013 
XaSRCM- 000000 
XCRFF > 000000 
xrrASS- 000000 
XtDCDR- 000000 
XEDCRF* 000000 
XEOFPT. 000000 
XEDLC * 000000 
XEDPIC* 000000 
002 XEDPNC- 000000 
XFLTO • oi^OOOO 

xmn • ♦••*•* f ; 

XOPEXP* QOOOQO 
XRGERR- 000000 

xsuBD - ooooog 

X«RR ' 000000 
X45 - 000000 
YQCMO • 000000 

002 /APCPX • GX 

iOFVL • ♦ CX 

ISTXGD* »••••• GX 



. 1405 tNIROS ( 14 PAMI) 
744 WORDS ( 60 PAGES) 



MOC S •••• 



EXPRS MACRO M1108 U-OEC-77 09: A6 PAGE 5-10 
SYMBOL TABLE 

ELAPSED TIME: 00:00:3A 

EXPRS. t50,50]EXPRS/-SP«C30,10]RSXPAR.MPARAM,GENMC.FLGDr. EXPRS 



••*t s **** 




••t* ■ I •••• 






FLOAT HACRO H1108 U-DCC-77 09:*7 PAGE 4 



.TITLE FLOAT 
.IDENT /03/ 



COPVRIGHT 1972. DIGITAL EQUIPMENT CORP., MAVNARD. MASS 01754 
COPYRIGHT 1973, DIGITAL EQUIPMENT CORP., MAVNARD. MASS 01754 
COPVRIGHT 1974. DIGITAL EQUIPMENT CORP., MAVNARD, MASS 01754 

DEC ASSUMES NO RESPONSIBILITY FOR THE 

^ USE OR RELIABILITY OF ITS SOFTWARE ON 

) EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 
THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF dec's COPVRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

VERSION 03 

B. BOWERINQ 



MODIFIED BY: 

D.N. Cl'TLER 6-FEB-73 
H.A. NICHOLS 18-JUN-74 



••-FLT4-F0UH WORD FLOATING POINT 
**-FLT2-TW0 WORD FLOATING POINT 



017 



FLT4ti 
FLT2II 

111 



?li 
SI I 



.IF NDF 

PURE 

INC 

INC 

ASL 

TSTARG 

BEQ 

CALL 



XFLTC 
PUREI.I 



4t 



iRc 



LTPNT-2(R3) 



ERROR 
MOV 
MOV 
MOV 
ST CODE 
SOB 
BR 
41) RETURN 

FLrG4W! INC 
FUG2WI }NC 
FLTGlWMSAVRfG 
MOV 
MOV 
MOV 



#FI "" 
(R 



#FLfBUF.R1 
«1)*.(R4) 



FITWDC 
riTWDC 



CHHPNT,-(SP) 

#FirBUF.R! 

«FLrSAV.R4 



M017 

SET FOR 4 WORD 
SET FOR TWO WORD 
NOW 2 OR 4 

IF EQ DONE 
EVALUTE NUMBER 
BRANCH IF NON-NULL 
NULL. FLAG ERROR 
GET A WORKING COUNT 
POINT TO FLOATING POINT BUFFER 
MOVE IN NEXT NUMBER 
PLACE ON CODF ROLL 
LOOP ON WORD COUNT 
CONTINUE 

'floating POINT NUMBFR (VALUATOR 

.SAVE REGISTERS 

; STACK CURRENT TMARArTFH POINTFR 
{CONVENIENT COPY Of POINURS 
i TO BUFF FR AND SAVE ARFA 



•••• f 9 ••«« 



i&AA&j. Mt % nm 



• !_»•»_«• flA.A* aAAB k-i 



FLOAT MACRO Mil 08 U-DEC-77 09:A7 PAGE *-1 





MOV 


11: 


CLR 




CMP 




BHI 




MOV 




CMP 




BEQ 




CMP 




BNE 




MOV 


I«; 


GETCHR 


BITB 




BEQ 




BIT 




BEQ 




INC 




BR 


1?l: 


CALL 




CALL 




SUB 




MOV 




ADD 




ADC 




ADC 




ADC 


13S: 


ADD 




CLR 




BR 


201 1 


CMP 




BNE 




COM 




BMl 


21li 


CMP 




BNE 




GETNB 




MOV 




MOV 




ABSTRM 




MOV 




ADD 


KTOSj 


MOV 




MOV 




BIS 




BIS 




BIS 


Sill 


n? 




BEQ 




BLr 




CMP 




m. 




iS' 


I3ti 


CAll 




ADD 


SSli 


DEC 



R4,R1 

-(R1) 

R1.«FLTBEG 

II 

#65. JLTBEX 

ITCH. ADD. RS 

10S 

«CH.SUB.R5 

111 

»1 00000. FLTSGN 

«CT.NUM.CTTBL(Rsi 

201 

#17A000.(R5) 

121 

FLTEXP 

1SI 

FLTM50 

FLTGLS 

fDIG.O.RS 

R4.R2 

R5.-(R2) 

-<R2) i 

-(R2) 

-(R2) 

FLTDOT. FLTEXP 

(SP) 

101 

(VCH.DOT.RS 

211 

FLTDOT 

101 

fLET.l.RS 

FLTCS 

CRADIN.-(SP) 
«10..CRADIX 

RO.fifrxp 

R3,R1 

(R1)*.RQ 

(R1)».r6 

(RD^.RQ 

(R1)«.R0 

FLIGEX 

FLTEXP 

FLTG5 

IrS). #031426 

FLtMSO 

FLTM*** 

f5..rLfBEX 

FLTtXP 



INIT VARIABLES 

LOOP UNTIL DONE 

INIT BINARY EXPONENT 
"♦"^ 

YES. BYPASS AND IGNORE 

NO* 
YES, SET SIGN AND BYPASS CHAR 
GET THE NEXT CHARACTER 
;NUMERIC? 

NO 
NUMERIC. ROOM FOR MULTIPLICATION? 

YES 
NO. COMPENSATE FOR THE SNUB 

MULTIPLY BY 5 

CORRECTION. MAKE THAT *10 

MAKE ABSOLUTE 

POINT TO END OF BUFFER 

ADD IN 

RIPPLE CARRY 



DECREMENT IF PROCESSING FRACTION 
CLEAR INITIAL CHAR POINTER (WE'RE GOOD) 
TRY FOR MORE 
DECIMAL POINT? 

NO 
YES. MARK IT 

LOOP IF FIRST TIME AROUND 
EXPONENT? 

NO 
YES, BYPASS 'I" AND BLANKS 
STACK CURRENT RADIX 
SET TO DECIMAL 
ABSOLUTE TERM 
RESTORE RADIX 
UPDATE EXPONENT 



;TEST FOR ZERO 



EXIT IF SO 
TIME TO SCALE 
riNI IF /FRO 
ntVIDE IF .LI. /FRO 
MUIIIPIY, CAN Wf •?? 

NO 
YES, MUHIPIY RY ! 

AND BY TWO 



MULTIPLY 
AND BY 
OVIR 10 



Y 5/4 



•••• I ) •••• 



• l_»««i.«9 A*. 4.9 mA»M 4.9 



FLOAT MACRO Ml 108 U-DEC-77 09:47 PAGE 4-2 



401: 
Alt: 



42t: 



FLTGSi 



4ti 



Hi 

SI I 



Bft 

DEC 

CALL 

TST 

BPL 

MOV 

CALL 

CALL 

BIT 

BNE 

CALL 

CALL 

CALL 

CALL 

DEC 

BGT 

TST 

SUB 

INC 

BM 

DEC 

CALL 

BCC 

ADD 

BLE 

TSTB 

BEQ 

ERROR 

MOV 

MOV 

TST 

CMP 

MOVB 

syAi 

CMP 

BNf 

CALL 

ROR 

.If Nor 

BIT 

JNDC 

MOV 

ASL 

BMC 

INC 

ASl 

BIS 

51 



51 S 






FLTBEX 




.•DIVISION. LEFT JUSTIFY BITS 


FLT6LS 






(R3) 




.•SIGN BIT SET? 


40t 




; NO. LOOP 


#16. •2,- 


■(SP) 


;16 OUTER. 2 INNER 
;SHIFT RIGHT 


FLTGRS 




FLTGSV 




{PLACE IN SAVE BUFFER 


#1.(SP) 




.•ODD LAP? 


43i 




.• YES 


FLTGRS 




.•MOVE A COUPLE OF BITS RIGHT 


FLTGRS 






FLTGRS 




;ONCE MORE TO THE RIGHT 


FLTGAD 




.•ADD IN SAVE BUFFER 


(SP) 




.•END OF LOOP? 


421 




; NO 


($P)» 




;VES, PRUNE STACK 


#3. .FLTBEX 




FLTEKP 








311 

FLTBEX 
FLTGIS 

T65 

00. FLTBEX 



FLTBEXO 
St 

N 

R4.R2 

R2.R1 

-<R1) 

-(R1).-(R2) 

(R1).(R2) 

(R2) 

II" 

FLTGRS 

(R4) 

XIDFPT 

MD.FPT.EDMASK 

FLTWOC.R? 

R. 

I 

R. 
R 



#077777, FLtBUF(Ri) 



iLEFT JUSTIFT 

;LOSE ONE BIT 

:SET EXCESS 128. 

.'BRANCH IF UNDER-FLOW 

;HIGN ORDER ZERO? 

; ris 

;N0. ERROR 

;SEf TO SHIFT EIGHT BITS 

;R1 IS ONE LOWER THAN R2 

;DOWN ONE WORD 

;MOVE UP A BYTE 

.'BEWARE Qt THE INSIDE-OUT PCM 

)ENOT 

JSHIFT UNE PLACE RIGHT 
.•SET HIGH CARRY 

.'TRUNCATION? 

; m 

.n Sl/f COUNT 
.DOUBLt 
;PRE8Et TYPE 
;S|NGLE WORD 

CONVERT to BYTES 



I 



FLrBUF(R2) 



«" 



T 
FLTSGN.(RS) 



{TEST SIGN POSITION 
;0K IF POSITIVF 

jtIT ItON, IF ANY 



•••t 



TT 



•«•* 



MA»k#t Ht IftM 



«A.K*r.** ABiAf aAAl A>1 



FLOAT MACRO Ml 108 U-DEC-77 09:47 PAGE A-3 



FLTGEX: 



It: 

FLTM54: 

111 
FLTM50: 



FLTGAD! 
Ill 



21 1 



FLTGRS: 



FLTGLSt 



FLTGSVt 



CLR 

CLR 

MOV 

MOV 

BEQ 

MOV 

CLR 

MOV 

JMP 

CMP 

BLO 

CALL 

INC 

CALL 

CALL 

CALL 

BR 

CALL 

CALL 

CALL 

MOV 

ADD 

MOV 

ADC 

BCS 

CMP 

BNE 

RETURN 

CLC 

MOV 

ROR 

ROR 

ROR 

ROR 

RETURN 

MOV 

ASL 

ROL 

ROL 

ROL 

RETURN 

MOV 

MOV 

JMP 



.PSfCT 
FLTNOi 
FLTfONi .BLKW 
FlTDOTi .ILKW 
Ft TEMPI JlKW 

■ lkw 

iLKtf 

LKW 



riTPNTi 



MURE 

.yoRD 



MODE 

FLTWDC 

(R5). VALUE 

(SP)».RO 

IS 

RO.CHRPNT 

R3 

R3,R0 

SETNB 

(R5).«U63U 

It 

FLTGRS 

FLTBEX 

FLT6SV 

FLTGRS 

FLTGRS 

FLTGAD 

FLTGSV 

FLTGLS 

FLTGLS 

R*,R2 

6(R2).-(R?) 

R2.R1 

-(R1) 

2t 

R2.R3 

II 



R3,R1 
(R1)» 
(R1)» 
(R1)» 
(R1)« 



R4.R2 
-(«?) 
-(R2) 
-(R2) 
-(R2) 

RS.RI 



IMPURE. D.RW 



rilCRPl .SLKN 

flTBEKi .ilKW t 

FIliuFi .BLKW 4 

FLIIAV) .ILKW 4 



fi 



.D 



;MAKE ABSOLUTE 

; CLEAR COUNT 

; PL ACE FIRST GUY IN VALUE 

;ORIGIONAL CHAR POINTER 

.'ZERO (GOOD) IF ANY DIGITS PROCESSED 

;NONE. RESET TO WHERE WE CAME IN 

;FLAG AS FALSE 

;SET FLAG IN RO 

; RE TURN WITH NON-BLANK 

:ROOM? 



;SAVE IN BACKUP 
.'SCALE RIGHT 



!•! 



; POINT TO SAVE AREA 

;ADD IN WORD 

;SET FOR CARRIES 

.'ADD IN 

;C0NT1NUE RIPPLE, IF NECESSARY 

.' THROUGH? 

; NO 

;RtGHT SHIFT 
;RIGHT ROTATE 



;LEFT SHIFT 



{MOVE FLTBUF TO FLTSAV 



.•♦♦017 

.START OF FLOATING POINT IMPURE 

;SICN BIT 

{DECIMAL POINT FLAG 

JDEC MAL rxPONtNT 

jIlNARY tXPONFNT (MUST PRFCEFD KTBUF) 

;MAIN AC 



{♦♦017 
1 



••#• I ) AM* 



MAKkA Mttfta tl.-lk«f.*f AAiAf MAAC A-A 



FLOAT MACHO H1 108 U-OEC-77 09:A7 PAGE ^-4 



000001 



.WOAD FLTGAU 

.ENDC 

.END 



II MAt lurkn MltMl li.-lt*f_Vf fMiAV MAA* Aat 



TT 



••*• J ] *••• 



FLOAT MACRO Ml 108 
SYMBOL TABLE 



AM.DEC 
AM.DEF 

nF1« J WW™ 

AM. INC 

AM.NDX 

AM.PC 

AM.REL 

ASTfLCi 

BLKTOI 

BLKT02 

blktq! 

BLKTM 
BLKT05 
BLKT06 
CH.AOO 
CH.AND 
CH.BSL 

CH.ca 

CH.CQM- 
CH.DIV 

CH.oa 

CH.DOT 
CH.EQU 
CH.HSH 
CN.IND 
CH.IOR 





000005 
000006 
000055 
000046 

1154 

154 
157 
000044 
000056 
000075 
000045 
0001 UO 
000041 



14-0EC-77 09:47 PAGE 4-5 



CH.LAB« 
CH.LP » 
CH.MUL« 
CH.PCT« 
CH.QM ■ 
CH.QTM> 
CH.RAB- 
CH.RP ■ 
CH.SMC" 
CH.SUB> 
CH.UAR- 
CH.XCL> 
CPXADD- 
CPXAND- 
CPXCOM- 
CPXCON- 
CPXDIV- 
CPXFLC- 
CPXGLB- 
CPXIOR- 
CPXMUL- 
CPXNEG> 
CPXOPC" 
CPXREL* 
rPXSOS- 




000013 



CPXSTO' 

CPXSUB 

CR 

CSTACC 

CSTALO 

CSTFL& 

CSTGBL 

CSTMEM 

CSTREL 

CSTTYP 

DEFFLG 

DFGFLG 

DIG.O 

DIG. 9 

ft 

GLBFLG 

GSDTOO 

GSOTQI 

GSDT02 

GSDT03 

GSDTM 

GSDTQ5 

GSDT06 

ILVL 

LBLFLG 



. ABS. OQOOOO 000 

000000 001 

ERRORS DETECTED! 

VIRTUAL MEMORY USEDt 2460 WORDS ( 10 PAGES) 
DYNAMIC MEMORY! 1574A WORDS ( 60 PAGES) 
ElAPSED TIME) 00!00i20 

FLOAT. C30,50]FLOAr/-SP>C50.10]RSXPAR.GENMC,FLGDF. FLOAT 
.OM 



1^2 



LET. A • 


t QQQ101 


LET.B > 


' 0001 oi 


LET.f . 


LET.O - 


t 000' (i4 


LET.E • 
LET.F . 


' ?ooi?' 


LET.G ' 


; m\rr 


LET.O > 


LET.Z . 


; ^Q^ 


LF 


LST.KB< 


■ 00 * >01 


LST.LP' 


1 00 * '02 


MOFFLC- 


1 00 * '04 


NUtSEC- 


. n0O004 
. 500050 


PSTFLG" 


REGFLG< 


• 00 1 01 


RELFLG' 
RLDTOO- 


> 000040 
. 000000 


RLDTOI" 




RLDT02' 


' §S?OOS 


RLDT05' 


RLDT04 


. 0OI004 


RLDT05 


. 000005 
- 000006 


KLDT06 


RLDTO/ 


- 000007 



RLDT10 

RLDT11 

RLDT15 

RLDT16 

RLDT17 

RSX11M> 

RtS11M> 

SPACE 

SUB««AC 

TAB 

V? 

XBSRCv 

XCREF 

XEDABS 

XEDCDR 

XEDFPT 

.<EDLC 

;(EDPIC 

X£DPNC 

XHTG 

rOPEXP 

I.RGERR 

X'jUBD 

XiERR 



000010 
000011 
000015 
000016 
000017 
000000 



)4C 
>01 
111 
000013 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
OOOOOQ 
000000 
000000 
000000 
OOOOOQ 
000000 



•••• K I MM 



nrr 




•*•• L I AtM 



Mtiki MAtunlllink \L.titt.TT Oeii7 VAAt 4 



GETLN MACRO M1108 U-OEC-77 09:47 PAGE 6 



46 0(XHHH) 
4? 0< 




ooooooo 



.TITLE GETLN 
.lOENT /07.0V 



COPYRIGHT (C) 1972,1977 

DIGITAL EQUIPMENT CORPORATION, MAYNARO, MASS. 

THIS SOFTyARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DtlC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 07 
VERSION 07.01 
B. BOWERING 

MODIFIED BYt 

D.N. CUTLER 9-FrB-7^ 

C.A. D'EIIA 1Q-JAN-74 

C.A. D'lLlA 

C.A. D'ELIA 

C.A. D'ELIA 

C.A. D'ELIA 

C.A. D'lLIA 



P2-MAR-74 
JNAPR-74i 
[O-OCT-7} 
51 -NOV- 7$ 
1S-APR-76 



(VIRT MEMORY) 

(LC MACRO CALl ARGS) 

(M|SC-F(S SEQUENCED FILES) 



C.A. D'ELIA ??-NOV-77 

CDOSO — MAKE RtCORD TOO BIG A NONFATAL ERROR. 



• •-OITLIN-GET AN INPUT UNI 



OfTlIN; 
GETlOli 



PURE 
MVRIG 
I ALL 



\Wrr^ 000006' 

OOOOOOO 



Silt 



PURE 1.1 

XCTLIN 

FFCNT.RO 

III 

RO.PAONUM 

l-l.rAGfXt 

fKNf 

PASS 

511 

iPKNf 

fllNBUF.R^ 



j»»017 

J SAVE RfOI^TFRS 

;INIt UNF-OAIINftD VARIABLES 

.ANY REStHVlP M'S» 

HO 
iviS, UPDAK PA(it NUMBFR 



•••• 



TT 



•«•• 



r; 



itm lurftn unna \k-Mt'ff 0«i4F MAI A«1 



GETLN MACRO mi08 U-OEC-77 09:«7 PAGE 6-1 




62 000072 
6! 00007A 
64i 000076 

65 000100 

66 000102 

67 0001 W 

)ir 




78 




92 000166 

93 0001)7 
94i 0001/4 
99 000176 

96 OOO.'W 

97 0()0,'(i6 

98 OOOrMc' 

99 OOO^U 



0QA767 
005700 
00274A 
0050A7 
0U104 
005021 
060104 
1050U 
1UA05 
020527 
101015 
020527 
1QH12 
020527 
001 S65 

005767 
001 ?62 

005267 
000757 
110522 
112105 
116500 
?U06 




162705 
000765 
110512 
00U06 




0Q1Q05 
005>6/ 

Oituor 



OOQOOOG 

OOOOOOG OOOOOOG 
000160 



GETL02: 
51) 



000015 
000012 
00001 4 

OOOOOOG 

000002' 

OOOOOOG 
OOOOOOG 



5|« 



l\ 



000040 



OOO.'OO 



71 1 
0ETI09! 



01?767 OOOOOOG OOOOOOG 18t: 



00000^' 

1 77842 

0000000 



S9tt 

OITL?Oi 



NDF 



MOW 

MOV 

CAU 

TS 

BLT 

BGT 

MOV 

CLR 

ADD 

CLRB 

MOVB 

CMP 

BHI 

CMP 

BLO 

CMP 

BNE 

.ir 

TSI 
BNE 

.ENOC 

INC 

BR 

MOVB 

MOVB 

MOVB 

BEQ 

BIT 

BEQ 

.ir 

BIT 
BNE 

ADD 

.ENDC 

SUB 

BR 

MOVB 

BfO 

ERROR 

MOV 

BR 

.ir Nor 

MOVB 

BIT 

BNt 

CLRS 

.iNDt 

MOV 

StTNB 

BNt 

fSI 

!B 

MOV 
Rf TlMN 



Nor 



R2.LCbEGL 

«l!nend,lcenol 

6ETL20 

GETL01 

GETI09 

-(R1).R4 

(RD* 

R1,R4 

(R4) 

-(R4)-R5 

R5.«CR 

6t 

R5,«LF 

R5.#FF 
5t 

XSML 

FfCNT 
3t 

R5,(R2)« 

(Rl)»,R5 

CTTBl(R5),R0 

71 

#CT.lC.RO 

51 

NEDIC 

'ED.U.EDMASK 

«240.R5 

#40. RS 

R5.(R2) 
GEtL09 
I 
«200.R5 

KfDtOR 

I INBUr ♦72.. CDRSAV 

SD.CDR.fDMASK 
I 
ltNBur*72. 



SEAT UP BEGINNING 

AND -ND OF LINE MARKERS 
GET PHYSICAL LINE 
TEST RESULT 
RE-TRY IF .LT. 
EXIT IF .GT. 
GET BYTE COUNT 
SET STOPPER 
COMPUTE END 
FORM ASCI 7 
GET LAST CHAR 
IF > CR 

OR < LF 
MOVE ON 
FORM FEED? 
; NO, LOOP 

SYSTEM MACRO? 

YES. DON'T TALLY FF 

COUNT THE PAGE 

MOVE INTO L INBUF 
FETCH NEXT CHAR 
GET CHARACTERISTICS 
QUESTIONABLE 
LOWER CASE? 
NO 

LOWER CASE ENA81F0? 

NO, CONVERt TO UPKR 
YES, END UP WITH "200 ♦ LC" 

CONVERT LOWER TO UPPER CASE 

MORt 
{QUESTIONABLE . ASCI/ NULL? 
; YES, ALL SET 

JNO. ILLEGAL CHARACrER 
.•STORE ZERO WITH MAG BIT 



;5AVE COLUMN 73 



CARD RfiDER TYPE? 

NO 
YES, FORCE EOL 



»l tNIHir,(HRPNt 

J9l 

ffCNT 

m 

OftiOl 
ENDFIQ.RO 



;All S(T V NON-NUll t INF 

jNULL. FORM FFID' 

i NO 

{YES, JUST mW PA(,t (Oi.iN1 

;RETur,N WITH 'tNDKG" AS ARGUMENT 



,U N0» XSMl 



**•* 



TTT 



•••« 



GETLN MACrj H1108 U-OEC-77 09:47 PAGE 6-2 



lot: 



012700 00001: 

009767 OOOOOOG 

DU16 

fOQOT 151: 

W767 OOOOOOG 

1S2761 OOOOOOG OOOOOOG 



S7 OOOOOOG 
)16101 OOOOOOG 



)16767 OOOOOOG 000000' 
MIOSI 

)M767 OOOOOOG 

P 

)02407 



2t: 



111 







)12767 m777 000010' 

)0)067 OOOOU' 

152767 OOOOOOG 000002G 

U2767 OOOOOOG 00000?G 

016701 000002G 

00)267 000010' 
16704 



SI I 



All 



91 1 



OOOOIC 



SSli 



0n04'.6 000207 



T5T 

BEQ 

NOV 

CALL 

CLR 

BITS 

BEQ 

INC 

BIS 

NOV 

.RETURN 

.ENOC 

.IF NDF 

NOV 

BNE 

.ENOC 

CALL 

TST 

BEQ 

BLT 

ERROR 

INC 

DEC 

INC 

.IF NDF 

NOV 

CLR 

.ENOC 

BITB 
BEQ 

BICB 
ERRO(( 

.IF NDF 

INC 

.IF NDF 

MOV 

NOV 

BEQ 

NOV 

:|8f 

RfrURN 




N4( 



ii 



OOOOOOG 



IfSNLCHN.RO 

SNLLVL 

II 

RO.RI 

MEAD 

RO 



;*«015 ASSUME READ FRON NACRO LIB CHANNEL 
; PROCESSING S«SrEN NACRO? 
,•♦♦01 5 BRANCH IF NOT 
.'♦♦01s SAVE SOFTWARE CHA^MEL NUNBER 
.•♦♦015 GET LINE OF NACRO DEFINITION 
ASSUNE OK 



nv :^ ... 

#J0IE0F.I0FTBL(R1) ^♦♦Ol) ENO-OF-FILE DETECTED? 

21 ; NO 

RQ ;YFS. SET RO 

RO.ENDFLG ; •«& END FLAG 

BUFTBL(R1).R1 .•♦♦OlS LOAD R1 WITH INPUT BUFFER ADDR 



XNACRO 

NSBNRP.NSBOFF 

GE1L10 

CETPLI 

i 

E 

ENDFLG 

FFCNT 

FF CNT 

XLCSEQ 

f-I.LlNNUM 

SEQINO 



.•♦♦022 GET NACRO TEXT READ POINTER 
; YES. PROCESS If 

.•GET PHYSICAL LINE FRON EXEC 

;N0RNAL7 

; YES 

: NEW FILE 

;eof. error 

;fla6 it 

.•inhibit extra page eject 

;New FILE. FORCE EJECT 

.'START FILE WITH NEW SEQUENCE NUNBFRS 

; 
[♦♦015 



flOMM.IOFTBL^SRCCHN .WAS INPUT RECORD TOO LONG? 
51 ilF EQ NO 

flOIRiG.IOFTBL^SRCCHN j CLEAR ERROR FLAG 
L ; DECLARE L ERROR 



CD05 

"8 



; CDi 



BUFTBL^SRCCHN.RI 
XLCSEQ 

LINNUN 
XFCSQN 

FDBTBl*SRCCHN.R4 
F.SEQN(R4>.R4 

R4.LINNUN 



;POINT TO INPUT BUFFER 

INCRENINT UNE COUNT 
♦ ♦02A 
{♦♦024 GET FDB ADDRESS 



1 CDM 



;♦♦( 
;♦♦( 
;♦♦( 
.♦♦C 
!♦♦( 



% Ql 
4 I 

4 USE 

4 

4 



IT RECORD SEQUENCE NUMBER 
F FQ NONE DEFINED 
IT AS LINE MfWR 



.^ _ NDF XNACRO 

MOi NOV N$|RDV.R1 

I CAll - - 

It (ALL 



"f.NAX 




;♦♦ 
;♦♦ 
<♦♦ 

!♦♦ 

;♦♦ 

;♦♦ 
;♦♦ 
.'♦♦ 



VIRTUAL lOCN OF TEXT BlOCK 
TUP TO READ FROM VIRTUAl MENQRY 
ANSFFR A CHAR INTO LINE BUFFFR 
REPEAT UNTU SPECIAL (HAR WEN 




RO INDICAtIS fND-OF-lIN« 
CKUP AND gH SPEcTal CHAI 

S MA DEFINITION tERMINA 

S LOS. THIN VIS 



R 
INATORT 



••M I 4 •••« 



GETLN MACRO MHOS U-DEC-77 09:<i7 PAGE 6-3 



175 
176 



016746 
016746 
016701 
0M767 
0102A6 
5403 




})60 
000564 
1S9 000566 
190 




Q0Q«1,J 





11 60 
767 
375 
402 

124226 
012667 
012601 
000732 

016767 
052767 
012700 
000207 

001003 
011001 
004767 
020227 
101404 

005302 
005267 
nU04 
100406 
152764 
001402 




OOOOOOG OOOOOOG 
OOOOOOG 



000044 



000000' 



120S: 
130$: 



1401: 



000000* OOOOOOG 190S: 
OOOOOOG OOOOOOG 
000001 



000020 000000' 2001 I 
21 OS I 



000062 
000204G 



000000' 2201 I 
030000G OOOOOOG 



000040 




Ml 



MOV 

MOV 

MOV 

CALL 

MOV 

NEC 

CMP 

BEQ 

MOV 

MOV 

CALL 

BGT 

BLT 

SOB 

CMPB 

MOV 

MOV 

W 

MOV 
BIS 

MOV 
RETURN 

CMP 

BNE 

MOV 

CALL 

CMP 

BLOS 

ERROR 

DEC 

INC 

MOVB 

B.^1 

BITS 

BEQ 



MSBRDV.-(SP) 

MS80FF.-(SP) 

MSaARG,R1 

300S 

R2.-(SP) 

R3 

MSBTVP,#MT.MAC 

120» 

MSBCNT.R3 

(SP).R2 

1401 

RS.120$ 

-(R2),(SP)» 

(SP)«,MSB0FF 

(SP)t,Rl 

SOI 

MS80FF .MSBMRP 
«LC.ME.LCFLAG 
t1.R0 



;t»021 NO, SAVE VIRT LOCN OF TEXT BLOCK 

.-♦♦022 AND TEXT SLK OFFSET TO NEXT CHAR 

.•♦♦0?1 GET VIRT LOCN OF FIRST ARG BLOCK 

.•♦t021 SETUP TO READ FROM VIRT MEMORY 

;»t021 SAVE CURRENT LINE BUFFER POINTER 

.'♦♦021 CALCULATE ARGUMENT NUMBER 

;»»021 IS THIS A '.MACRO' DEFINITION? 

••♦♦021 IF EQ YES (IE, NOT .IRP/.REPT) 

.•♦♦021 ELSE, USE REPEAT COUNT AS ARG # 

••♦♦021 RESET LINE BUFFER POINTER 

.♦♦021 TRANSFER A CHAR INTO LINE BUFFER 

;^^021 REPEAT UNTIL SPECIAL CHAR SEEN 

;^^021 NEGATIVE MEANS END OF ARG LIST 

.■♦♦021 REPEAT UNTIL RIGHT ARG IS FOUND 

••♦♦021 REMOVE TERMINATOR AND CLEAN STACK 

.-♦♦022 REST TEXT BLK OFFSET TO NEXT CHAR 

;^^021 RESTORE VIRT LOCN OF TEXT BLOCK 

.•♦♦021 ARG SUBSTITUTION DONE— READ TEXT 

.•♦♦022 SAVE OFFSET FOR NEXT TEXT LINE 
.•FLAG AS MACRO EXPANSION 
.'EXIT GETLIN ROUTINE 



i**\)i2 AT END OF CURRENT TEXT BLOCK? 
{♦♦021 IF NE NO 



.•♦♦021 GET VIRT LOCN OF NEXT TEXT BLOCK 
;^^02l 



J.MSBOFF 
2101 
(RO).RI 

3001 ;^^021 SETUP TO READ FROM VIRT MEMORY 

RMLINBUF^SRCLEN i^^O'l HAS SOURCE LINE OVERFLOWED? 
220S ;^^021 IF LOS NO 

L iYES. FLAG ERROR 

R2 ,'♦♦021 DROP LAST CHARACTER 

MSaOFF ^♦♦W? INCREMENT TEXT BLOCK CHAR OFFSET 

(R5).R4 .'♦♦022 GET NEXT MACRO TEXT CHARACTER 

2251 .'♦♦022 If MI SPECIAL CHAR ENCOUNTERED 

TTBL<R4) .•♦♦022 IF THIS A LOWER CASE CHAR? 



^W'-' 



.IF NOF XEDLC 

BIT «ED.ir.EDMASIC 
BNE 2241 
ADD #240. R4 

.ENDC 



SUB «40,R4 

MOVB R4.IR2X 

TSTB mi)* 
RETURN 



{'♦022 IF EQ NO 



.•♦♦022 



;^^022 ir LOWER CASE ENABLED? 

.♦♦022 IF NE NO 

.•♦♦OJ 



"ES. END UP WITH '?OO^LC" 



{♦♦022 



2101 I CAll 



m 



URN 



5TS5 



CONVERT CHAR TO '.JPPER CASE 

PUT CHAR IN UNF BUFFER 

SET STATUS FROM ORIGINAl THAR 



•1 TIRMjNAff MA(RO FXfANMON 
.'♦♦021 INDICATE UNSUCCESSFUL READ 
;^^021 




•td* c 4 •••• 



GETLN MACRO Ml 108 U-OEC-77 09:47 PAGE 6-4 



231 000712 

232 000720 

233 000724 

234 000730 

235 000732 

236 000736 

IS 

239 000740 

240 000742 
241 

242 000746 

243 000750 
244 

245 

246 000000 

247 

248 000000 

249 

250 

251 

252 

253 000000 

254 000000 

255 000002 



258 

259 

260 000010 

261 000014 



012767 
010167 
004767 
010005 
066705 
000207 



010246 
004767 

012602 
000207 



000002 00000 V 300t: 

OOOOOOG 31 OS: 
000010 

OOOCOO' 



OOOOOOG 



MOV 

MOV 

CALL 

MOV 

ADD 

RETURN 



ICVRL2::M0V 
CALL 

MOV 
RETURN 



«2.MSB0FF 
R1 .MSBRDV 
SCVRL2 
R0.R5 
MSB0FF.R5 



R2.-(SP) 
tCVRL 

(SP)*.R2 



.PSECT MIXED. D.RW 
MSBOFF: .BLKW 1 



.ENDC 

.PSECT 
LPPCNTt:.BLKW 
FFCNT:: .BLKW 
PAGNUM: : .BLKW 
PAGEXT!:.BLKW 



;**0?2 SET OFFSET TO FIRST CHAR IN BLOCK 
;»»021 SORE VIRT LOCN OF TEXT BLOCK 
:»»021 GET REAL ADDR OF BLOCK IN RO 
.•♦♦021 CALC REAL ADDR OF NEXT CHAR ... 
;^^022 IN THE TEXT BLOCK 
;^^021 



.•♦♦021 SAVE R2 

.•♦♦021 CONVERT VIRT LOCN TO REAL 

;'>021 ADDR (CLOBBERS R2) 

.•♦♦021 RESTORE R2 

;^+021 



.•♦♦022 

.•♦♦022 MACRO TEXT BLOCK OFFSET POINTER 



IMPPAS.D.GBL.RW .•♦♦OU 

1 ; FORCE NEW PAGE WHEN NEGATIVE 

1 ; UNPROCESSED FF COUNT 

1 ;PAGE NUMBER 

1 ;PAGE EXTENSION 



000001 



.IF NDF XLCSEQ 

LINNUM:!.BLKW 2 

SEOENOm.BLKW 1 

.ENDC 

(NO 



;CREF LINE NUMBER 



•t*« I •*** 



GETLN MACRO MHOS 
SYMBOL TABLE 



AM.DEC> 
AM.DEF' 

AM. INC' 
AM.NDX- 
AM.PC > 
AM.REL> 
ASTFLG- 
BINCHN> 
BLKT01 



BLICT02- 
BLKT05- 
BLKTOA- 
BLKTOS> 
BLKT06> 



BUFTBL- 
CHRPNT- 
CH.AOO- 
CH.ANO- 
CH.BSL' 
CH. COL- 
ON. C(W> 
CH.DIV 
CH.DOL- 
CH.DOT- 
CH.EQU> 
CH.HSH- 
CH.IND- 
CH.IOR* 
CN. LAB- 
CM. LP ■ 
CH.MUL- 
CM.PCT- 
CH.QM > 
CH.QTM- 
CH.RAB- 
CM.RP - 
CN.SMC- 
CH.SUB- 

. ABS. 




0000A6 
000154 
000072 
00005A 
000057 

000056 

m 

7* 

'9 

52 





U-OEC-77 09:47 PAGE 6-5 



CH.UAR* 000136 
CH.XCL> 000047 
CMOCHN> 000000 
CPL « 000120 
CPXADD- 000001 
CPXANO> 000005 
CPXCOM- 000011 
CPXCON- 000020 
CPXDIV> 000004 
CPXFLG- 000200 
CPXGLB> 000016 
CPXI0R> 000006 
CPXMUL- 000003 
CPXNCG> 000010 
CPXOPC> 00001 Q 
CPXREL- 000017 
CPXSDS- 000013 
CPXSTO- 000012 
CPXSUB- 000002 
CR ■ 000015 
CSTACC- 000020 
CSTALO- 000004 
CSTFLG- 000050 
CSTGBL" 000100 
CSTMEM- 000001 
CSTREL- 000040 
CSTTVP- 000200 
CTTBL • •♦*••• GX 
CT.LC ■ •••••• GX 

DEFFLG> 000010 
DFGFLG- 000020 
DIG.O • 000060 
DIG. 9 ■ 000071 
tNOFLG- *•**•• GX 
INOMAC- •**••• GX 
ERRBTSa •*•*** GX 
ERR.E • ♦••••• GX 

ERR. I ■ *••*•• GX 
Irr.L • ••♦••• GX 
FOBTBL- •••••• OX 



PURE I 

MIXED QQ0QO2 
IMPPAS 000016 
ERRORS DETECTED! 

VIRTUAL MEMORY USED 
DYNAMIC MEMORY 1.1 9 



000 



ff « 000014 
FFCNT 000002RG 
F.SEQN« ••••*• GX 

GETLIN OOOOOORG 
GETL01 000004R 
GETL02 000076R 
GETL09 0002UR 
GETLlO 000450ft 
GETL20 000250ft 
6ETPL1« •••••• GX 

GLBFL6> 000100 
GSDTCO- 000000 
GSDTOI* 000400 
GSDT02- 001000 
GSDTQ3> 001400 
GSDT04> 002000 
GSDT05- 002400 
GSDT06< 003000 
ILVL ■ 000001 
lOfTBL- •••••• GX 

lOIEOF- •••••• GX 

lOMBG' *•••*• GX 
LBLFLG> 000002 
LCBCCL- •••••• GX 

LCENDL> •*•*•• GX 
LCFLAG" ••••♦• GV 

LC.ME • •••••• GX 

LET. A > 000101 
LET.B • 000102 
LET.C ■ 000103 
LET.D ' 000104 
LET.E • 000105 
LET.F > 000106 
LET.G ■ 000107 
LET.O ■ 000117 
LET.; • 550132 
LF ■ 000012 

LINBUF •* GX 

LINEND- ****** GX 



t 3425 WORDS ( 14 PAGES) 
744. WORDS ( 60 PAG(S) 



L1NLEN> 000204 
004 LINNUM 000010RG 

LPP « Q00')74 
002 LPPCNT OOOOOORG 
002 LSTCHN- 000004 
002 LSTLEN> 000204 
002 LST.KB> 000001 
002 LST.LP- 000002 
002 MAXCHN- 000014 
MDFFLG- 000004 
MSBARG" ****** GX 
MSBCNT« ****** GX 
MSBMRP" ***♦•* GX 
NSBOFF 000000ft 
NSBRDV" ****•• GX 
MSBTYP- ****** GX 
MT.MAC- ****** GX 
MT.MAX* ****** GX 
NUtSEC* 000004 
OBJLEN- 000052 
PAGE XT 000006ftG 
PAGNUM 000004RG 
MASS ■ ****** GX 
PSTFLG- 000050 
REGFLG- 000001 
RELCHN* 000010 
RELFLG« 000040 
RLDLEN- 000052 
RLOTOO* 000000 
RLDT01- 000001 
RLDT02' 000002 
RLDTOS- 000003 
RLDT04> 000004 
RLDT05> 000005 
RLDT06> 000006 
RLDT07* 000007 
RLOTIO- 000010 
RLDT11* 000011 
RLDT15' 000015 



ELAPSED TIME I 00 1 00 1 35' 
GfTl_N.r30.50JOfTLN/-SP«t30.10JRSXPAR.HPARAM,MCIOCM.6INMC.FLGDF,6ETLN 



RLDT16« 
004 ftLDT17» 
ftSXl1M> 
004 RtS11M> 
SAVftEG' 
SEQEND 
SETFI? « 
SMLCHN- 
SMLLEN- 
SMLLVL- 
SPACE « 
SftCCHN« 
SftCLEN" 

003 STLLEN* 
SUBMAC- 
TAB ■ 
TMPCNT- 
TTLLEN« 
VT 
XBSRCH> 

004 XCr<EF « 
004 XCTLIN 

X^DABSo 
.'IDtDft'- 
XEDCftF- 
XEDFPT- 
XEDLC ■ 
XEDPIC- 
XEDPNC* 
XFLTG » 
XOPEXP* 
XftGERR- 
XSUBD ■ 
X7ERR • 
X45 ■ 
YQCMO • 
ICVRL ' 
ICVRL2 
IRE AD 



O! 

****** GX 

00001 4ftG 004 
**•*•« GX 

000012 
000120 
****** GX 

000040 
000002 
000204 
000100 
000001 
000011 
000014 
000040 
000013 
000000 
000000 
!■ ****** GX 

000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
•****• GX 

000740RG 00? 
■ ****** GX 



•*•• I 4 *••« 




•••• f 4 •••« 



mzi — zmnr 



GHARG MACRO Ml 108 U-OEC-77 09:«8 PAGE 4 




000000' 
OOOOOOG 



n 



ft 



000136 



.TITLE GMAAG 
.IDENT /02.01/ 

COPYRIGHT 1972, DIGITAL EQUIPMENT CORP., NAYNARD, MASS 01754 
COPYRIGHT 1973. DIGITAL EQUIPMENT CORP., MAYNARD, MASS 01754 
COPYRIGHT 1974, DIGITAL EQUIPMENT CORP., MAYNARD. MASS 01754 

DEC ASSUMES NO RESPONSIBILITY FOR THE 
USE OR RELIABILITY OF ITS SOFTWARE ON 
EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF dec's copyright NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

VERSION 02.01 

B. BOWERING 

MODIFIED BY! 

D.N. CUTLER 10-FEB-75 

H.A. NICHOLS 1i-JUN-74 017 

C.A. D'ELIA 06-AUO-77 

CD042 — FIX BUG IN KEYWORD EXPANSION OF BRACKETED ARGUMENTS. 



;♦ 

; •••GMARG-GET MACRO ARGUMENT 

t **-GMARGF -ALTERNATE ENTRY 

I ••-RMARG-REMOVE MACRO ARGUMENT 



.PSICT 
lARGSJti.BLKW 



GMARGi 



(iMARGF 




jMPURI.O 



PURII.I 

GMARGX 

R1 
tARGS; 

fCHRPNT,R2 
(R?>. -(<»•) 
»CH.LAB.R3 
«CH.RAB.R4 

R3.«CH,UAR 



;SI2E OF PARSED MACRO- TYPE ARGUMENT 



{♦♦017 

;TEST FOR NULL 

; YES. )UST EXIT 

;SAVt RECISTFRS 

.•CLEAR COUNt 

; INITIAL l/t ARGUMENT Sl» 

.SAVE INITIAL CHARACTER POINTfR 
.ASSUME '•<>" 

;"Vf{ 

.•UP-ARROWT 




I CD042 



•••• i i «••• 



• A-lk><>-«* #\a.l.A MAAM A_1 



GMARG MACRO miOB U-DEC-77 09:48 PAGE 4-1 




^ 



M6 OQun 

MO 132765 
> 00U41 



005267 
000767 

U26 
1216 

0105M 

00U20 
005267 
020505 
00H04 
020504 

005301 
005201 

m 

005216 
052705 
000403 

Q167QQ 
OQ1002 



10507; 
0126li 




000001 



OOOOOOC OOOOOOG IS: 



BEQ 
BITS 



000000* 



000000' 



000000' 
100000 

OOOOOOG 
OOOOOOG 

000000 

0000000 
OOOOOOG 

000000 

OOOOOOG 
OOOOOOG 



BEQ 
GETCHR 
INC 
BR 

101: GETNB 
BEQ 
MOV 
COM 
MOV 

lit: GETCHR 
BEQ 
INC 
CMP 
BEQ 
CMP 
BNE 
DEC 
DEC 

121: INC 
BPL 
DEC 
INC 
BIS 
BR 
It: ERROR 

•' SI! 

MOV 
22tt MOV 

MOV 
CLRB 
MOV 
SETCHR 
MOV 
QMARGN: RETURN 
RMARGi! MOV 
MOV 
TST 
M0V8 
ASL 
ADC 
MOV 
SETNB 
MOV 
RETURN 

.IND 



n 



lot 

fCT.PC t 'C<CT 
21t 

tARGSZ 

It 

20t 
(R2).(SP) 

"I 
RS,R4 

20t 

tARGSZ 

R5.R3 

i2i 

R5.R4 

lit 

R1 

R1 

R1 

lit 

tARGSZ 

(SP> 

#1 00000. R5 

21t 

A 

GMAPNT.RO 

«GMABLK.RO 

(R2>.(R0)« 

R5.(R0)« 

•(R2) 

(SP)S(R2) 

RO.GMAPNT 

GMAPNT.RO 

-(RQ).R5 

-(RO) 

R5.t<R0) 

R5 

(RO) 

(RO).CHRPNT 

RO.GMAPNT 



; YES 

.C0M!CT.SMC>,CTTBL(R5) :PR1NTA8LE CHARACTER ; CD042 
OTHER THAN COMMA OR SEMICOLON? ; CD042 

NO .•♦•-4 

YES. MOVE ON 
INCREMENT ARGUMENT SIZE ; CD042 

"•", BYPASS IT 
ERROR IF NULL 
SET NEW POINTER 
NO '•<" EQUIVALENT 
">" EQUIVALENT 

ERROR IF EOL 
INCREMENT ARGUMENT SIZE ; CD042 

YES 
NO, ">'"• 

NO. TRY AGAIN 
YES. DECREMENT LEVEL COUNT 



'LOOP IF NOT THROUGH 

•EXCLUDE STRING TERMINATOR FROM ARGUMENT SIZE ; CD042 

; POINT PAST "<" 

:MUST MOVE PAST IN RMARG 



GET CURRENT ARC SAVE POINTER 

BRANCH IF INITIALIZED 

00 SO 

SAVE POINTER 

AND CHARACTER 
SET NULL TERMINATOR 
POINT TO START OF ARC 
set RFGISTER 5 
;SAVE NEW BUFFER POINTER 

;SET POINTER TO SAVED ITEMS 
;SET CHARACTER 

;RESTORE VIRGIN CHARACTER 



•••• M 4 *••• 



I *-****■* 



«i..K*^.VV Aa.i.A ftAAft A.S 



T 



GMARG MACRO M1108 
SYMBOL T/VBLE 



H-OEC-77 09:48 PAGE 4-2 




AM.DEC' 
AM.DEF> 

Mt.lNC- 
M.NDX> 
AH.PC « 
AM.REL- 
ASTFLG- 
BLKTOI* 
BLKT02> 
BLKTO!« 
BLKT04> 
BLKT05- 
BLKT06- 
CHRPNT- 
CH.AOO" 
CH.ANO- 
CH.BSL- 
CM. COL- 
CH.CGM- 
CH.OIV* 
CH.Oa- 
CH.DOT> 
CH.EQU- 
CH.HSH' 
CH.IND- 
CH.IOR- 
CH. LAB- 
CM. LP ■ 
CM.MUL- 

. ABS. 



IMPURE 

PURE I 000256 

ERRORS DETECTED! 



•****• GX 

000053 
6 
154 
72 
54 
000057 
000044 





CM.PCT» 

CM.QM « 

CM.QTM- 

CH.RAB- 

CM.RP ■ 

CH.SMC- 

CM.SUB> 

CM.UAR* 

CH.XCL' 

CPXADD> 

CPXAND- 

CPXCGM- 

CPXCON- 

CPXDIV- 

CPXFLG- 

CPXGLB- 

CPXIOR- 

CPXMUL* 

CPXNEG- 

CPXOPC* 

CPXREL* 

CPXSDS- 

CPXSTO* 

CPXSUB- 

CR 

CSTACC" 

CSTALO- 

CSTFLG" 

CSTGBL* 




7 
1 
5 
11 
000020 
000004 




^ 



mil 

000017 
000013 

oooor 
ooooo, 

000015 
000020 

m 

000100 



000 
001 
00 
00 



CSTMEM> 000001 
CSTREL> OOQQ46 
CSTTVP« 000200 
CTTBL « •••••• 6X 

CT.COM- ••••♦• GX 

CT.PC « •••♦•• GX 
CT.SMC- •••••• GX 

DEFFLG- 000010 
DfGFLG- 000020 
DIG.O > 000060 
DIG. 9 • 000071 
ERRBTS- •••••• GX 

ERR. A ■ •••••• GX 

FF « 000014 
GETCMR- •••••• GX 

GETNB - ••*•*• GX 
GLBFLG- 000100 
GMABLK- *•**•* GX 
GMAPNT* ***•*• GX 
GMARG OOOOOORG 
GMARGF 000006RG 
GMARGX 0002 16R 
GSDTOO- 000000 
GSDT01- 000400 
GSDT02- 001000 
GSDT03- 001400 
GSDT04* 002000 
GSDt55' 002400 
GSDT06- 003000 



VIRTUAL MEMORV USEDi 2645 WORDS ( 11 PAGES) 
DYNAMIC MEMORY! 15744 WORDS ( 60 PACES) 
ELAPSED TIME! 00i00i17 
CMARG.t50.30]OMARO/-SP.rS0.10]RSXPAR.OENMC.Fl6DF.GMARO 






ILVL > 


■ QOOQOI 


LBLFLG< 


■ ( 00002 


LET. A ' 


1 ({)Q101 


LET.B > 


r (lOOl )2 


LET.C ' 


> (001)3 


LET.D ' 




LET.E ' 


; JJJIJJ 


LET.F • 


LET.G ' 


■ 000107 


LET.O ' 


1 000117 


LET. 2 i 


' 000132 


LF 




LST.KB' 


1 OOyOOl 


LST.LP- 


1 000002 


MOFFLG" 


. 000004 


NUtSEC' 


. 000004 


PSTFLG" 
REGFLG- 


. 000050 
, 000001 


RELFLG- 


. 000040 


003 RLDTOO' 


000000 


003 RLDTOI- 


000001 


003 RLDT02> 


000002 
000003 


RLDT03> 


RLDT04' 


000004 


RLDT05' 


000005 


RLDT06« 


000006 


RIDT07' 


000007 


RLDTIO" 


000010 


RL0T11. 


000011 



RLDT15- 

RLDT16> 

RLDT17« 

RMARC 

RSXIIM- 

RltllM- 

SAVREG 

SETCHR 

SETNB 

SPACE 

SUBMAC 

TAB 

TSTARG 

VT 

XBSRCH 

XCREF 

XEDABS 

XEDCDR 

XEDFPT 

XEDLC 

XEDPIC 

XEDPNC 

XFITG 

XOPEXP 

XRGCRR 

XSUBD 

XZERR 

X45 

tARGS; 



115 

116 
000017 
000220RG 
000000 
000000 

****** QX 

****** 6X 
•••*** GX 

000040 
000001 
000011 
****** GX 

000013 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
OOOOOORG 



003 



002 



•••• I 4 •••• 



rr 




•••• J 4 ••«• 



I iu>>i MAfhn MttfVM «l.-IMr_Vf nSi 



Lt mkMM • 



INFIL MACRO Ml 108 U-OEC-77 09:48 PAGES 



.TITLE INFIL 
.IDENT /15.03/ 



000000 



COPYRIGHT (C) 1972,1977 

DIGITAL EQUIPMENT CORPORATION. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND NAY BE COPIED ONLY WITH the 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PEKSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIP^FNT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 15.03 



D.N. CUTLER U-FEB-73 



C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
H.A. 
C.A. 
C.A. 
C.A. 
C.A. 



D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 



NICHOLS II- 

d'elia ih 

D'ELIA 19-1 



D'ELIA 
D'ELIA 
D'ELIA 



04 -OC 1-75 

11 -NOV- 75 

15-NOV-73 

1Q-JAN-74 

5- J AN- 74 

5 -MAR- 74 

l-MAR-74 

7- APR- 74 

5-APR-74 

" JUN-74 

SEP-74 

NOV- 74 



?0-OCT- 
01 -NOV" 



003 
005 
007 
010 
Oil 
013 
014 
015 
016 
017 
017 

ll 



(VIRT MEMORY) 
(CREF) 



C.A. D'ELIA 02-OCT-77 

CD048 - IMPROVE OUTPUT FILE HANDUNG. 



C.A. D'ELIA 

CD049 



I 

; FILE INITIALIZATION ROUTINES 
; MACRO LIBRARY CALLS 

; 



16-NOV-77 
- MORE OUTPUT Flit »4ANDL1NG WORK. 



KAU 
I 



CSI> 



!::8tJ 



•••• K 4 •••• 



MA«> B-t 



1 



INFIL MACRO mice U-DEC-77 09:A8 PAGE 5-1 



000000 



69 000000 






71 000000 
000003 072 


123 


131 


OOOOOA 




73 






74 000004 


115 


101 


000007 12A 


115 
OC0006 


120 



.MCALL GCniDS 
GCMLDS 



.•♦t017 

;tt005 GET GCML SYMBOLS t RELEASE SPACE 



.MCALL CSlf1.CSII2 .•♦♦017 

.MCALL OFNBM.OFNBSW.OFNBtU.OFNBtA.FDBFSR .♦♦017 



.MCALL GTIMtS.GLUNtS 

.GLOBL G.CMLD 

PURE TSTBVT.D 

060 SYSTR: .ASCII /SYO:/ 

SYSTRL«.-SVSTR 

103 LFSTR! .ASCII /MACTMP/ 
LFSTRL-.-LFSTR 



.'♦♦018 

.•♦♦022 

.•♦♦022 DEVICE STRING FOR SYO: 

.•♦♦022 STRING LENGTH 

,'♦♦022 FILE STRING FOR TMP LST FILE 

.'♦♦022 STRING LENGTH 



; CD048 
.•**-1 



78 000012 



PURE PUREI.I 



;^^017 



»♦ 




012705 OOOOOOQ 



105A2Q 
012705 
132765 
0QU02 
000167 



146 



OOOOOOC 
000010 

000S12 



0000000 



000001 



•»-OPENCH-OPfN CHANNEL 

INPUTS) 

RI-CHANNIL NUMBER. 
R2-ADDRESS OF SWITCH LIST. 



) OUTPUTS) 

I RQ-PL IF OP'^RATION SUCFSSFUL. 

I RO-MI IF 

I" 



ERMORS WERE FNCOUNirRED. 



OPENCHdMOV 
CSil2 
BCS 
NOV 
BITB 
BEQ 
JMP 



201) 






fCSIBLK.RS ;^^017 PUT ADDR OF (SI BlOCK 

R5.,R2 iOET SPtflFIED rilt 

JMPi ;|f CS lUFGAl SWITCH tHROR 

«CSIM3.R3 ;A^S(JM( WIIP CARD SPtCINtD 

#CS.Wl6.C.STAT(R5);ANY WllD (ARDS SPECIF IFD? 

20t til to NO 

0PSWT2 ;EISE, DFCLARF FRROR 



IN RS 



MOV 
MOV 
JMP 



R1.-($P) 
R5.-($P) 
PROCSI 



.•♦♦017 



W 



SAVE . 

SAVE R1 

PROCESS COMMAND I INF SWITCHES 



I CD049 

1**-1 




;••- 



; THI fOUOWiNG LAfltl IS RfOlMRFO ?0 RKOAD THIS SfGMENT AFTER 
; PROCESSING Of COMMAND UNt SWifCHtS U COMPLCtt. 



•017 



•••• i 4 •••• 



I lilt II 



HAffen Mlln* \Lmtittmrf fiOlil MA* %m» 



INFIL MACRO mi 08 U-OEC-77 09:A8 PAGE 5-2 



113 
1U 
115 

116 000050 

117 000052 

118 000054 



.ENABL LSB 




129 000120 



U6 



012605 
012601 
005700 

016100 

m 

122765 
0Q1024 
152765 
001515 
012705 
050555 
052765 
00U02 
012705 
05U42 
010567 
0W767 
012705 
10M76 

mi 

0OU66 



000262 




tOPSWT : 



JMPli 

soil 



000001 000000 
000005 000001 

OOOOOOC. 000024 



OOOQOOC 
0002 U 



Ml 



000005 000001 101: 
. 10M. 



046116 0000000 

000004 

OOOOU 

OOOOOOG 000004 



56 



50 



lOSli 



:M0V 
MOV 
TST 
BPL 
JMP 

MOV 

CLR 

MOV 

CMPB 

BNE 

BITS 

BEQ 

MOV 

.RAD50 

BIT 

BEQ 

MOV 

.RA050 

MOV 

CALL 

SK 

BR 

BITB 

BEQ 

CALL 

MOV 

BCS 

CM»» 

BEQ 

CMP 

BNI 

sui 

MOV 
GLUNtS 

Bir 

BEQ 
INCB 



(SP)»,R5 

(SP)*.R1 

RO 

501 

0PSWT1 

FDBTBL(R1).R0 
F.FNB«N.FID(R0) 



.•♦♦022 

;^»017 RESTORE R5 

.•♦♦017 RESTORE R1 

.•♦♦017 TEST RESULTS 

:IF PL NO ERROR DETECTED 

;ELSE. DECLARE SWITCH ERROR 

•GET ADDRESS OF CHANNEL FDB 
♦♦017 INSURE THAT OLD FILE 



ID'S ARE GONE. 



IS,' 



#CS1BLK^C.DSDS.r| {♦♦OU PNT R2 TO CSI FILE DESCRIPTOR 

#CS.INP.C.TYPR(R5):iNPUT FILE? 

10» ;IF NE NO 

«fCS.NMF!CS.DVF.C.STAT(R5);FILE OR DEVICE SPECIFIED? 

0PSWT2 ;IF EQ NO-ERROR 

^PCi*." .'♦♦015 ASSISE A NORMAL SOURCE INPUT... 

/MAC/ ••♦♦OIS ...FILE IS BEING OPENED 

#MLMSK.C.MKW1(R5) ;^^015 WAS /Ml SWITCH SPECIFIED? 

51 .♦♦015 NO, SKIP 

(PO^.RS .•♦♦015 A USER MACRO LIBRARY FILE... 

/MLB/ .'♦♦015 ... IS BEING OPENED 

R5.SRCNAM^N.FTYP ;t»015 SPECIFY DEFAULT FILE TYPE 

OPENRD ;^^014 OPEN SOURCf FILE FOR READ 

«CS1M6.R3 ;ASSUME OPEN FAILURE 

0PSWT2 ;IF CS OPEN FAILURE 

#CS.MV!CS.DVF.C'.STAT(R5);FILE OR DEVICE SPECIFIED? 
201 ;IF EQ NO 

.•♦<022 

,'♦♦014 PARSE THE FILE NAM( SPEC 

.'♦♦015 ASSUME OPEN FAILURE 

;«^0U SKIP ON ERROR 

.OUTPUT TO NULL DEVICE? 

.IF EQ YES " DON' I CREATE ANY 

.•♦♦022 IS 1HIS LISTING f IL"? 

.'♦♦022 IF Nk' NO 

.•ALLOfATF GLUN BUFFER ON SrAC^ 

;S:ORf ADDRESS IN R3 
GET I UN INFORMATION 

JIS OUTPUT DEVICE JPOOlfO? 
EQ NO 



F PARSE 

«CS1M5.R5 

0PSWT2 

#'NL,F.DVNM<R0> 

201 

R1.#LSTCHN 

lOPNWT 

#6*2. SP 

SP.Rj 

F.LUN(R0).R5 ;u 

#FD.OSP.G.lUCW(Ri) 

lOU .-IF 

lOFTBlOUSTCMN .'ELSE, SET SPOOLED DEVICE FLAG 
*6»;,$P ; RESTORE STACK 



; CD049 
; CD049 
; CU049 
.•♦•-I 



CD048 
CD048 



CD049 
CD049 
CD049 
CD049 
C0049 
fD049 
I CD049 



.IF NOr XCRfF 



{♦♦022 



I 



If. 



1201 



^♦♦022 WAS /CR SWITCH SPECIFIED? 
m622 if N( no 



BIT fCRMSK,C.MKWl<R5) 
#F 

11v. :, .. .. 

tF5^DIR.F.RClL(R0> ;mO?2 OR, IS IT NON-D I RECTORY? 



lifB #FoJsQD.F.RCTI(r6)'"%»022 m". is LSf DFVKE SEQUENTIAL? 



jjrjBLMHST 



(HN 



Q YfS 

t A S 

;ir Fo NO 



POOLfP DfVlCIT 



CD048 

CD04 

CDP4 



•••• N 4 •••• 



ttit ti 



■Affcn mifm u.hn v no 4W cau S-\ 



INFIL MACRO N1108 U-OEC-77 09:A8 PAGE 5-3 



IF A CREF IS DESIRED AK9 THE LISTING FILE DOESN'T 60 TO A 
DIRECTORY DEVICE. THE DEVICE SYO: WILL BE USED. THE ORIGINAL 
SPECIFICATION IS SAVED FOR EVENTUAL OUTPUT OF BOTH THE 
LISTING AND CREF ON THAT DEVICE BY CRF. 

110$: MOV F.FNB»N.DVNM(RO),lLSTGT ,•♦♦022 SAVE LST FILE DEVICE 

MOVB F.FNBtN.UNIT(R0).$LSTGTt2 :^^022 AND UNIT NUMBER 

MOV «SYSTRL(C.DEVD(RS) :**022 SUBSTITUTE DESCRIPTOR FOR 

MOV #SYSTR.C.DEVD^2(R5) :^^022 DEVICE SYO: 

CLRB lOFTBL^WLSTCHN .'CLEAR SPOOLED DEVICE FLAG 

TST F.FNB^N.FNAM(RO) .♦♦022 WAS A FILE NAME SPECIFIED? 

BNE 100S ^♦♦022 IF NE YES 

MOV #LFSTRL,C.FILD(R5) .•♦♦022 SUBSTITUTE DESCRIPTOR FOR 

MOV #LFSTR,C.FILD*2(R5) ^♦♦022 TEMP FILE NAME 

BR 1001 ;^^022 REPEAT THE PARSE 

.ENOC ••♦♦022 



NAME 



; CD049 



CALCULATE THE PROPER DEVICE BUFFER FOR LISTING FILE. 



194 000262 0160A6 OOOOOOG 

195 000266 021627 000204 

196 0QQ?72 002002 



m 012716 000204 

198 000500 012667 OOOOOOG 

199 000504 



120l> 



130t! 



MOV 
CMP 
BGE 
MOV 
MOV 
FDBFIR 



202 
203 



105412 
112761 
005060 
005060 
000207 




IOPNWTm 



OOOOOOG OOOOOOG 151: 

OOOOOOG 

OOOOOOG 

?Oti 



OOOOOOG 



OFNBIW 

BCS 

MOVB 

CLR 

CLR 

RETURN 



F.V8SZ(R0),-(SP) .•♦♦0?? GET DEVICE BUFFER SIZE 

(SP).«LSTLEN .-♦♦022 COMPARE W/ MAX LINE Sl/E 

1301 ;»*022 IF GF DEVICf BUFFER IS BIG ENOUGH 

#LSTLEN,(SP) ;»^022 ELSE. OVERRIDf W/ L INF LENGTH 

(SP)*.ILSTVZ 1**02} STORE RFSUlT 

RO..ILSTV; .-♦♦022 USE BUffER OVERRIDE IN NECESSARY 



,'♦♦02? REF LABEL FOR OPEN OUTPUT FIIE 
•♦♦014 OPEN OUTPUT FILE (VIA FNB) 
0PSWT2 :IF CS OPEN FAILURE 

tlO.OPN, lOFTBL(Rl) ;«»014 SET FILE OPEN STATUS 
F.DSPTCRO) i**Q\t CLEAR DESCRIPTOR ANt> DEFAULT FILE 

F.DFNB(RO> ;«»01| ... BLK ADDR FOR POSSIBlF DFlFIl 



.DSAtL LSB 



;**q\B CLE/ 
;»»01B ... 
;^»017 



;»t022 



.'♦♦017 

i M-OPSWTI- 

i M-opswr?- 



DECLARE SWITCH ERROR AND RESTART 
DFTIARF ERROR AND NFS TAR I 



ss 



Wrii.'MOV »rstM4,R5 

Wf2!iCAll IPPTER 

MOV *-1.R0 

RETURN 



.'♦♦017 DtriARE swnrH frror 

JMQ18 S(ND MCSSAbIS AND CLEANUP FILES 

;SET ERROR STATUS 

i 



{♦♦014 

i *H)PFNRD-* OffN SOURCE FILE FOR READ 



• «•• 



TT 



*••« 



INFIL MACRO Ml 108 H-OEC-77 09iA8 PACE 5-4 



|M 004767 000016 

[to 105405 

Ii04 

^04 000207 



44 000406 




005760 
001011 
010146 
010001 
062701 

m 

)12601 



OOOOOOC 




207 



017700 0( 

M **' 



f 



.—014 
OPENRD: 



It: 



CAt.L 

BCS 

OFNBIft 

RETURN 



fPARSE 

1$ 



)14 
)14 
)14 
14 
14 
)14 



PARSE THE FILE NAME 

SKIP ON ERROR 

OPEN SOURCE FOR READ (VIA FNB) 



♦♦014 
*-FPARSE-* SETUP AND PARSE A FILE NAME BLOCK 
—014 



F PARSE) TST 
BNE 



111 



MOV 

MOV 

ADD 

MOV 

CALL 

MOV 

RETURN 



F.FNB^N.F1D<R0) 

II 

R1,-(SP) 

RO.RI 

«F.FNi.R1 

F.PFNB(RO).RS 

.PARSE 

($P)+,R1 



)14 CHECK FOR A FILE ID 
14 SKIP IF ONE IS ALREADY THERE 
14 SAVE R1 

U PUT ADDR OF THE FILE NAME ... 
14 ...BLOCK IN R1 
14 PNT r! TO DEFAULT FILENAME BLK 
14 PARSE F ILENAMC "BUILD FNB 
14 RESTORE R1 
)14 



••-IGTFDB-*-GET NENT AVAILABLE FDB 

INPUTS! 

INXFDB-POINTS TO NfXT AVAIL ABLf FDB IN LIST 

OUTPUTS) 

RO-FDB ADDRESS 

INXFDB-UPDATED TO NEXT ENTRY IN LIST 



i- 

IGTFDBdMOV 
OOOOOOC ADD 

RETURN 



;^»011 
; 



•MXFDB.RO 
fF.INXFDB 



;♦♦ 



GET FDB ADDR !N RO 
UPDATE NEXT FDB POINTER 



4 004767 
1014 S4 



; ••FINP1-* FINISH PASS 1 (INMIALI/E FOR PASS i) 

raw, 



\ 



All 
STB 




BL^BINCNN 



♦ ♦ 

♦ * 

♦ ♦ 

!♦♦ 



flOSt 
MAS OBJt 



^OURCF rilf 
It FILE 



il-5^Fl°FIL! 
IF CS ERROR 



CRCAfiiD? 



••t* I 7 M«« 



INFIL MACRO Ml 108 U-OEC-77 09:A8 PAGE 5-5 



000506 112767 OOOOOOG 000006G MOVB 
0005U 100S: 



|»I0.0PNJ0FTBL»B1NCHN .•♦♦022 SET FILE OPEN STATUS 
;^^022 



.IF DF RSX11M 



0005 U 105767 OOOOOOG 
000520 00U21 

105767 0000046 

001016 

016700 000004G 

000542 

000554 103410 

000556 112767 OOOOOOG 000004G 




000564 



200t! 



250t: 



TST8 


LSTFIL 


BEQ 


3001 


TSTB 


lOFTBL^LSTCHN 
200S 


BNE 


MOV 


FDBTBL^LSTCHN.RO 


FDBFIR 


RO..ILSTV/ 


OFNBIA 


5001 


BCS 


MOVB 


#I0.0fW,I0FTBL^L 



.ENDC 



.IF NOF XCREF 



.•♦♦022 

;^^022 WAS LISTING FILE CREATED? 
.•♦♦022 IF EQ NO 
.•LISTING FILE KEPT OPEN? 
;IF NE YES 

.•♦♦022 GET LST FILE FDB ADDR 
1**022 USE BUFFER OVERRIDE IF NECESSARY 
;^^022 RE-OPEN LISTING FILE 
;^^022 IF CS ERROR 
STCHN .•♦♦022 SET FILE OPEN STATUS 
;^^022 

.•♦♦022 



[♦♦022 



TSTB CRFFIL ;♦ 

BEO 3001 ; ♦ 

OFNBtU FDBTBL^CRFCHN :♦ 

BCS 5001 :♦ 

MOVB flO.OPN.IOFTBL^CRF 

MOV #LINMr,R1 ;♦ 

MOV RI.BUFTBL^CRFCHN 

MOV «*RMAC.(R1)^ :♦ 

CLR vRD^ ;♦ 

MOV #1.(R1)^ ;♦ 

GTIMtS R1 ;♦ 



♦022 WAS CREF FILE CREATED? 

♦022 IF EQ NO 

♦022 RE-OPEN CREF FILE 

♦022 IF CS ERROR 

CHN ^♦♦022 SET FILE OPEN STATUS 

♦022 POINT R1 TO A SCRATCH BUFFER 

.•♦♦02? MODIFY BUFFER POINTER TABLE 

♦022 STORE NAME OF CREF INPUT SOURCE 



♦022 
♦022 



STORE IDFNT CODE OF SOURCF, TOO 
♦022 GET TIME PARAMETERS 



.If NOF XLCTTM 



.•♦♦022 



CLR 
BIT 
BNE 

INC 



.IFF 

MOV 

.ENDC 



MPV 
tWRITE 
MOV 
MOV 

.ENDC 



G.':M«2(RP 
#LC.TTM.LCMA! 

G.rtMI^:(R1) 




ASSUME WIDE ItSTING MODE DESIRED 
IS WIDE LISTING MOOf 01 SIRED? 
IF NE YES 
ELSE. SET NARROW CRF LISTING FLAG 



CD049 
CD049 



»1.a.TIMI«2(R1) {♦♦022 SET NAWK •' CRF LISTING TlAG 
J ♦♦022 



ff1l..»CNTTBMrRFCHN :««022 SET BUFFER LENGTH 
CRF ,♦♦02? OUTPUT THE CREF HEADER HEtORO 

tCRFBUF.BUrtBlKRrrMN .♦♦O?? RISTORE CREF BUrTfR ADDR 
#1^..iCNffBL»CRFCMN ;^t022 AND RECORD SUE 



{♦♦022 



•«•• c f **** 



INFIL MACRO miOe U-OEC-77 09:A8 PAGE 5-6 

300S: 



W1 

342 00056A 

5A3 00057A 000207 

3AA 

3A5 

3A6 000576 012703 OOOOOOG 

3A7 000602 000167 OOOOOOG 

3A8 

34,9 

350 

351 000001 



ISISI «CS]BLK 
RETURN 



500S: 



MOV 
JMP 



.END 



#CSIM5.R3 
RESTRT 



i**Q22 RE-SCAN THE COMMAND LINE 
;»»0?2 



i**022 GET OPEN FAILURE MESSAGE 
,♦♦022 REPORT ERROR, CLOSE FILES. 
.■♦♦022 AND RESTART ASSEMBLER 



•••• P f *«t« 



INFIL 


MACRO Mil 08 U-OEC-77 09:A8 1 


>AGE 


5-7 


SYMBOL 


TABLE 












BINCHN' 


:»$ 




FDBTBL* 




GX 


6.DPRM« 


BPMB < 




F0.0SP» 


****** 


GX 


G.ERR > 


CLOSRC' 




GX 


FINP1 


000454RG 


003 G.ISIZ* 


CMOCHN- 


. 000000 
' 000120 




F0.APD> 


****** 


GX 


G.LUCW> 


CPL ' 




FO.RD > 




GX 


G.LUFB* 


CS1BLK> 
CS MS > 


■ *•*«** 


GX 


FO.UPD« 




GX 


G.LUNA> 


1 •«**«* 


GX 


FO.yRT» 


****** 


GX 


G.LUNU* 


CS M > 


■ ****** 


GX 


F PARSE 


000A06R 


003 G.M0DE> 


CSIMS < 


■ ****** 


GX 


F.DFNB- 


****** 


GX 


G.PSDS« 


CS1M6 < 




GX 


F.DSPT- 


****** 


GX 


G.SIZE* 


CS.OIF" 


:« 




F.DVNM> 




GX 


ILVL « 


CS.OVF. 




F.FACC» 




GX 


lOFTBL- 


CS.EQU' 


■ 00 OAO 




F.FNB « 




GX 


lO.OPN- 
JHPl 


CS.INP' 


• 0(' lOOl 




F.LUN » 


****** 


GX 


CS.MM' 


I 0(< 020 




F.OVBS* 




GX 


LFSTR 


CS.WF> 


1 00)001 




F.VBSZ- 


****** 


GX 


LFSTRL- 


CS.OUT" 


. oaoo2 




GE.BIF« 


177775 




LINLEN- 


CS.M.D> 


' 0OO10 




GE.CLO> 


000004 




LPP • 


C.CMLO' 


' 00 002 




GE.COM« 000001 




LSTCHN" 


C.DEVD' 


. 00 006 




GE. CON- 


000020 




LSTFIL« 


C.DIRO> 


> 0O012 




GE. EOF > 


177766 




LSTLFN- 


C.DSDS> 


. oaoo6 




GE.IND- 


000002 




MAXCHN- 


C.FILD" 


' 001016 




GE.IOR- 


}77777 




MLMSK > 


C.MKW1' 


• 00(024 




GE.LC « 


000010 




NUtSEC- 


C.n(W2> 


. 00(026 




GE.MDE- 


\7777i, 




N.FID ■ 


C.SI2E< 


> 00(05A 




6E.0PR- 


\7777t 




N.FTYPa 


C.STAT' 


• 800022 




GE.RBG- 


177730 




OBJFIL* 


C.SWAO' 




6E.Si;> 


000040 




OBJLEN« 


C.TYPR- 


1 000000 




G.CMLD" 


000146 G 


OPENCH 


. ABS. 


000000 
000000 


000 
001 










TSTBYT 
PIMM 


000012 
000606 


002 
003 










ERWMS 


DETECTED 


! 











000160 

000140 

000020 

000004 

000003 

000000 

000002 

000141 

000142 

000224 

000001 

****** 

****** 

000060R 

g00004R 

000006 

000204 

000074 

000004 

****** 

000204 
000014 

****** 

000004 

****** 

****** 
000052 
OOOOOORG 



GX 
GX 



GX 



GX 

GX 
GX 
GX 



VIRTUAL MEMORY USED: 5844 WORDS ( 23 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:44 

INF IL,t30.S03INF|L/-SP-t30.103RSXPAR.MPARA«,MCiOCM.G£NMC. INFIL 



OPENRD 
0PSWT1 
0PSWT2 
PARttS 

PROCSI 
RELCHN 
RESTRT 
RLDLEN 
RSX11M 
RttllM 
SMLCHN 
SMLLEN 
SRCCHN 
003 SRCLEN 
002 SRCNAM< 
STLLEN 
SUBMAC 
SYSTR 
SYSTRL 
S.FDB 
S.FNAM' 
S.FNB 
S.FNBW 
S.FNTY 
S.FTYP 
S.NFEN 
TMPCNT 
TTLLEN 
003 



msk 


003 XBSRCH* 
003 XCREF « 


000000 


SSS^'I^G 


003 XEDABS^ 


000000 


000027 


XEDCDR* 


000000 


****** GX 


XEDCRF= 


000000 


000010 


XEDFPT« 


000000 


****** GX 


XEDLC « 


000000 


000052 


XEDPIC- 


000000 


§0088!' 


XEDPNC« 
XFLTG » 


n 


WM 


X0PEXP> 
XRGERR> 


ns 


w 


XSUBD ' 
XZERR > 


» 


****** GX 


X45 > 


000000 


000100 


VQCMO > 


000000 


000001 


SGTFDB 


000440RG 003 


OOOOOOR 


or tLSTVZ- 


****** GX 


000004 


iNXFDB- 


****** GX 


000140 


SOPNWT 


00031 2RG 003 


000006 


SOPSWT 


000050RG 003 


000036 


tOPTER- 


****** GX 


0(0017 


ISIOST* 


000014 


Oi 0004 


.tsn • 


****** G 


080020 


.CS.2 • 


****** G 


.OPFNB- 


****** G 


01 0014 


.PARSE* 


****** GX 


000040 


...TPC» 


000140 



•••• I 7 ••«« 




M*»l f •••• 



I lUiai MAJiKO M«>AA tA_Ka»_V« Aa.^B BAAA ■ 



INIFL MACRO Ml 108 U-DEC-77 09: A9 PAGE 5 



.TITLE 
. I DENT 



INIFL 
/03/ 



000000 



COPYRIGHT (C) 1972,1976 

DIGITAL EQUIPMENT CORPORATION. NAVNARD, MASS. 

THIS SOfTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 03 



D.N. CUTLER U-FEB-73 

C.A. D'ELIA 
C.A. D'ELIA 
C.A. D'ELIA 
C.A. D'ELIA 
C.A. D'ELIA 
C.A. D'ELIA 
C.A. D'ELIA 
C.A. D'ELIA 
D'ELIA 
NICHOLS 

d'elia 

D'ELIA 
D'ELIA 
D'ELIA 



C.A. 
H.A. 
C.A. 
C.A. 
C.A. 
C.A 



C.A. D'ELIA 



0*-OCT-73 
11-NOV-75 
15-NOV-7S 
10- JAN- 74. 
P5-JAN-74 
65-MAR-74, 
|2-MAR-7* 
07- APR- 7* 
25-APR-7* 
ie-JUN-74, 
01 -AUG- 74. 
J 1 -MAR- 75 
?0-OCT-75 
01 -NOV- 7$ 
13- APR- 76 



003 
005 
007 
010 
Oil 
013 

?!5 

016 

01 r 

017 
019 

0)4 



(ViRf MEMORY) 

(CREF) 

(MiSC-FCS SEQUENCED FILES) 



; 



INPUT FILE INITIAL I/AT ION 
S 



; MACRO LIBRARY CALL 
I 

.MCALL CSlt 

rsil 



.MCALL CSItSW.rSltSV. 



*••• I 7 •••• 



iml.rORtlR.FDOPIR .♦♦Olf 



M*^Kn M««A« tl.-l^r-** AA.i.a mAUM t.l 



INIFL MACRO Ml 108 U-OEC-77 09:A9 PAGE 5-1 



63 000000 
000000 



: LOCAL DATA 

; DEFAULT NAME BLOCKS 
I 



.WECT 
SRCNAM: :NMBLKt 



MIXED. D.M 
.NAC..SY 



.•♦♦017 

; SOURCE NLE 



000056 



76 

77 000000 

78 000000 
79 

000010 
II 



0000?0 
, 000030 
h OOOMO 000000 



; SWITCH AND VALUE CONTROL LISTS 

i 

I 

PURE OPURE.D {♦♦017 
; SWITCH CONTROL LIST 



SRCSWT: ;^«005 SOURCE SWITCHES 

CSIISW PA.PAMSK..SET..PAVAL ;^^00S /PA SWITCH 

.IF NOF KSMl .♦♦007 

CSIISW ML.MLMSK..SET .♦♦007 /ML SWITCH 

.ENOC .♦♦007 

CSISSW EN.EWSK..SET..ENVAL .♦♦003 /EN SWITCH 

CSIISW DS.DSMSK.,SET.,DSVAL ^♦♦003 /DS SWITCH 

.WORD {♦♦OOS END OF SOURCE t OBJECT SWT TABLE 



: VALUE CONTROL LIST 



1 
1 

1 
103 

1 

1 

v. 




It? 000030 



113 
114 



00001 s 



6 000000 



DSVALS*11. :**022 

.IRP IX,<AflS,PIC.CDR,rPT,PNC.LC.CRF> :**022 

.IIF DF NED'lN.DSVALS-DSVAli-l .•♦♦603 

.ENDM {♦♦003 

ENVALS>pSVALS ;^^003 NUMBEN Of 'YN" VALUfS 



PAVALS-1. 



;^^017 

I VALUE TABLES 

!~017 



PAVALi 



m' 



!♦♦ 



CSIISV NUMERIC.PASSSW 
.WORD 



.RIPI ENVALS ;•♦_, 

CSIISV ASCII.ENADDR^TMP.S J 



NUMBER OF '^A" VALUES 



.? .♦♦00' 
{♦♦005 



/PA SWITCH VAIUE TABLl 

1 

END OF /PA VALUE TABLE 

/IN SWITCH VAlUf TABiF 



r iMiii MAf 



mi\ m\\t\M \L.htr.Tr nOtiO MAI \»i 



INIFL MACRO M1108 1A-DEC-77 09:«9 PAGE 5-2 

115 TMP»T«P*4 ;»»003 

116 .ENDR ;»*005 

117 000070 000000 .WORD ;»*003 END OF /EN VALUE TABLE 
118 

119 

120 000072 DSVAl! .•♦♦003 /DS S«1TCM VALUE »A8LE 

121 000000 TMP«0 .•♦♦005 

122 OOOOOA .REPT DSVAL S .•♦♦003 
125 CSHSV ASCII.DSADDR^TNP.3 ^♦♦OOS 
12<, TNP»T«P^* ;^^003 

125 .ENDR .•♦♦003 

126 000112 000000 .WORD ;^^003 END Of /DS VALUE TABLE 



•••• I f •••• 



"- Ma41kA «A-k>*-*« AA.l* AAA* A. 



INIFL MACRO M1108 U-DEC-77 09:«9 PAGE 6 



iS? 
jj! 

155 
157 

]n 

HO 

HI 

y^i 

U5 

iu 

U5 

!tl 

150 

151 



0001U 



PURE PUREl.l 



.•♦t017 




TO 



00*767 
005067 
012705 
112765 
0l|701 
012702 
016700 
0010M 
00*767 
010067 




•*-llNIFL-IN]TIALIZE INPUT FILE 
INPUTS: 

OUTPUTS: 

RO'PL IF REQUEST SUCESSFUl. 

RO'MI IF ANOTHER COMMAND LINE SHOULP BE READ. 



OOOOOOC 
OOOOOOG 

oooooor. 
000001 000000 

000002 

000000' 

000002G 

OOOOOOC 
000002G 



OOOOOOG 



tlNIFLi 



1001: 



OOOOOOG 

OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 

OOOOOOG 000024 




ttl 
lOli 

nil 
till 



:CALL 
CLR 
MOV 
MOVB 
MOV 
MOV 
MOV 
INi 
CALL 
MOV 

FDRCIR 

FDOPIR 

CALL 

.IF NDF 

•Ml 

.IF NDF 

CLR 

.ENDC 

SEC 

MOV 

•ITB 

•NE 

•ITB 

KQ 

CLC 

•IT 

r; 

JMP 
MOV 
MOV 



m 

MOV 

ffi! 



SAVREG .SAVE REGISTERS 

PASSSy .•♦♦005 CLEAR VALUE OF LAST PASS SyiTCH 

«CSIM.K.R5 :GET ADDRESS OF CSl CONTROL BLOCK 

«CS.INP.C.TYPR(R5)|SET input REQUEST 
fSRCCHN.RI ;SiT CHANNEL NUMBER 

«SRCSWT,R2 :SET ADDRESS Of SWITCH LIST 

FDBTBL^SRCCHN.RO .•♦♦017 PUT SOURCE FILE FDB ADDR IN RO 
loot .♦♦022 IF NE FDB ALREADY ALLOCATED 

IGTFDB .♦♦022 CLSr, GET NEXT AVAILABLE FDB 

RO.FDBTBL^SRCCHN .♦♦022 STORE ADDR IN FDB TABLE 

;^^022 
RO.,fLINBUF,«LlNLEN :^^017 SET MOVE MODE PARAMETERS 
R0,#5..#$RCNAM .♦♦017 SET FILE OPEN PARAMETERS 
]N CHANNEL 
)7 

JUST RETURN IF NOT SUCCESSFUL 



oNnch' 

NFC SON 
F.SEaN(RO) 



RO.RJ 
#FD.SQD.F.RCTL(RS> 




INIT RiCORD SEQUENCE NUWER 



ASSUME DEVICE CHARS ARE WRONG 
PUT SOURCE FILE FDB ADDR IN Rl 

-■' ^v..,.,^, ,♦♦017 IS SRC FROM A SEQUENTIAL DfV? 

'• ^♦♦OU YES. NO RE-READ SUPPORT 

fFD.DIR.F.RCTL(RS) :**Q}? IS SRC FROM A DIRECTORY DEV? 

It ,•♦♦017 NO. NO RE-RFAD SUPPORT 

.•♦♦01S DEVICE CHAR^ ARE O.K. (NOTE: THE 

— -. . .t**0'i f f"«" "^O' AFFECTED BY ^BITBM 

#M^MSK.C.MKW1(R5) .•♦♦607 WAS /Ml SWITCH SPECIFIED? 
i**Oi\ IF EQ NO 

.'♦♦OIJ SKIP IF /Ml VALID ON TH|^ DEVICE 
IF IS NOT RANDOM ACCESS 
USE LIBRARY FILE LIST 
FILE Will BE riOSED 

THIS THE FIRST PASS? 

Y NO, jusr RtruRN 



in 

0PSWT1 

«LIBLST.R0 

RO.PASSiw 

PASS 

20t 

tF.FN8U.MD.RS 
(RS>»,(R2M 
(RS)^.(R2)^ 
(R3)^.(R2)^ 



;♦♦( 

;♦♦ 
.'♦♦ 

.'♦• 
:♦• 



1} SKIP IF / 
15 EISE. Fll 
M SETUP TO 

I '" 

)7 IS 



INSURE 



•,**00r Puf ADDR 0' SYMBOL AREA IN R? 
.♦♦$17 PUT ADDFi OF SOliff FIlF ID IN R5 






)7 SAVE ^. 
)7 . . . THE . . I 
)7 ... FILE ID 



•t*« J f •«•• 



iMiti 



MAfaft MiiftM u.hir-'/ (I'j L<i n*(.t t,»\ 



INlfL MACRO MnO« U-OEC-77 09:A9 PAGE 6-1 



185 000212 

186 000216 

187 000222 

188 000226 

189 000250 
190 

191 000250 
192 
19S 
19A 



016322 
016322 
00*767 
005000 



000207 



000001 



000024 
000026 
OOOOOOG 





WV 


N.DVNM-<N.FID«6>(R5).(R2)« 




NOV 


N.UNIT-<N.FI0*6>(R5).(R2)t 
APPEND .♦♦015 SAVE 




CALL 


18S: 


CLR 


RO [♦♦019 SET 


201 i 




,♦♦007 




.ENDC 


;^^007 




RETURN 


9 



,-♦♦007 SAVE DEVICE NAME 
.•♦♦007 SAVE UNIT NUMBER 
FILE INFO IN PROPER ROLL 
FILE SUCCESS INDICATOR 



.END 



*••• 1^ f •••• 






»#.«« AA.i.a ftAAA A^l 



INIFL MACRO Ml 108 
SYMBOL TABLE 



APPEND* 
BINCHN- 
BPMB > 
CHRtt > 
CK)CHN« 
CNTtt > 
CPL « 
CSIBLK- 
tS.OIF" 
C. riVF« 
Cb.LUU- 
CS.INP- 
CS.MOR" 
CS.NMF- 
CS.OUT- 
CS.WLD- 
C.CW.D- 
C.DEVD' 
C.OIRD- 
C.DSDS- 
C.FILO- 
C.MKW1- 
C.MKW2- 
C.SIZE- 

. ABS. 

MIXED 
DPURE 
PURE I 




GX 



000000 
000002 
000120 

****** GX 
12 



000040 
000001 
000020 
000001 
000002 
000010 
12 




U-OEC-77 09:49 PAGE 6-2 



C.STAT« 000001 LPP 

C.SWAD« 000022 itV.m 

C.TVPR« 000000 LSTLENi 

DSADDR« •*••** GX MAXCHN' 

DSMSK « •♦•••• GX MLMSK 
DSVAL 000072R 003 NUtSEC 

DSVALS> 000004 N.DID 

ENADDR- ****** GX N.DVNN* 

ENHSK ■ ****** GX N.FIO 
ENVAL 000050R 003 N.FNAfM 

ENVALS- 000004 N.FTYP 

PDBTBL> ****** GX N.FVER 

FD.DIR- ****** GX N.NEXT 

F0.S0D- ****** GX N.STAT 

F.DFNB- ****** GX N.UNIT 

F.FNB > ****** GX OBJLEN- 

F.LUN • ****** GX OPENCH 

F.RCTL" ****** GX 0PSWT1 

F.SEQN> ****** GX PAMSK 

F.URBD- ****•' GX PARIII 

ILVL ■ 000001 PASS 

L1BL5T« «*•••• GX PASSSW 

LlNBUf- ****** GX PAVAL 

LINLEN- 000204 PAVALS 



Wo4 




RELCHN> 
RLDLEN> 


88S§5^ 


XBSRCH' 
XCREF . 


■m& 


OOoS?4 




RSX11N' 


OOi >000 


XEDABS' 


■■ 000000 




RStllN- 


OOi '000 


XEDCDR' 


: 000000 


*•*•** 


GX 


SAVREG- 


****** GX 


XE0CRF> 


> 000000 


000004 
000024 




SIZIt « 


000002 


XEOFPT" 


. 000000 




SMLCHNx 


000012 


XEDLC ' 


. 000000 


00 032 




SNLLEN* 


000120 


XEDPIC' 


. 000000 


» 




SRCCHN> 


000002 


XEDPNC> 


. 000000 




SRCLEN* 


000204 


XFLTG ' 


. 000000 


00 i014 




SRCNAM 


OOOOOORG 
OOOOOOR 


002 XOPEXP' 


. 000000 


Si 




SRCSWT 


005 XRGERR' 


- 000000 




STLLEN- 


000100 
000001 


XSUBD • 


■ 000000 




SUBMAC* 


XZERR ' 


« 000000 




SYMBOL* 


****** GX 


X4S > 


' 000000 


00 1052 




S.FNAM- 


000006 


VQCMO > 


' 000000 


****** 


GX 


S.FNB > 


000056 


tGTFDB' 


1 ****** GX 




GX 


S.FNBW- 


000017 


IINIFL 


OOOOOORG 


****** 


GX 


S.FNTY- 


000004 


It > 


. 000000 


000000 




S.FTYP* 


000002 
000020 


...PCI' 


. 000000 


****** 


GX 


S.NFEN* 


...PC2 


. OOOOUR 


****** 


GX 


TMP ■ 


000020 


...PC5« 


• 000000 


000042N 




005 TMPCNT- 


000014 


. . . TPC 


' 000056 


000001 




TTLLEN« 


000040 







000000 
QOOOOO 
000056 
000114 
000252 
ERRORS DETECTED: 



000 
001 
002 
005 
004 



VIRTUAL MEMORY USED: 4795 WORDS ( 19 PAGES) 
DYNAMIC MEMORY: 15744 WORDb ( 60 PAGES) 
ELAPSfD TIME! 00!00i5< 
lNiFL,[10.50JlNlFL/-SP>[50.10]RSXPAR,MPARAM.MCIOCH.U(NMC.lNirL 



004 



002 



•••• I f «••• 




•••* M f •••« 



ik«\ti MArkn Mnm u.h»r>rr 0«i^0 MAf 9 



INOFL MACRO Ml 108 U-OEC-77 09:50 PAGE 5 



.TITLE INQFL 
. I DENT /OS. 02/ 



<i 



COPYRIGHT (C) 1972.1977 

DIGITAL EQUIPMENT CORPORATION, NAYNARD, MASS. 

THIS SOf TVARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON TUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAl 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR TIE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION OS.O? 

D.N. CUTLER U-FEB-7S 



C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
H.A. 
C.A. 
C.A. 
C.A. 



D'ELIA 

D'ELIA 

D'ELIA 

D'ELIA 

D'ELIA 

D'ELIA 

D'ELIA 

D'ELIA 

D'ELIA 

NICHOLS 

D'ELIA 

D'ELIA 

D'ELIA 



04-OfT-75 
n-N0V-7S 
15-NOV-7S 
10- J AN- 7* 
25-JAN-7* 
65-MAR-74. 
|2-MAR-7« 
07-APR-7<i 
25-APR-7A 
1B-JUN-74. 
U-OfT-74 
U-JAN-7? 
01-NOV-^i 



(CREF) 



C.A. D'FLIA 
CD044 



S1-AUG-77 
• ADD EXIT-WltH-STATUS SUPPORT 



C.A. D'lLl* 02-OrT-77 

CD04S - IMPROVE HANDLING OF OUTPUT FILES. 

C.A. D'ELIA 16-NOV-77 

fD049 — MORf OUIPUf f llF MANDl INd WORH. 



OUTPUT FILE INinAU/ATION 
FMCRO LIWARY CALLS 



•••• 



TTT 



•••• 



INOFL MACRO M1108 U-DEC-77 09:50 PAGE 5-1 



59 000000 

60 

61 000000 



75 000000 
7* 

75 QOOOQO 

76 0OOOS6 



00007* 177761 



.MCALL CSIt 

CSIt 

.MCALL CCMLDS 

GCMLDt 



.•♦<017 
.'♦♦OH 
.'♦♦017 
.•♦t005 GET GCML SYMBOLS t RELEASE SPACE 



.MCALL CLOSES. CSIt1,CSIt2.EXlTtS,NMBLKS,CSItSW.CSIlSV .'♦♦OU 
.MCALL fOATIR.FDOPM ,•♦♦017 



LOCAL DATA 

DEFAULT NAME BLOCKS 



PURE DPURC.D 

LSTNAMi :NMRLKI .LST,.SV 
OBJNAMt :NMBLKI .Oaj,,SV 



LISTING FILE EXTENSION SIZE 



;^^017 

.•LISTING FILE 
.•OBJECT FILE 



KSEXTit.MMD -IS. 

; SWITCH AND VALUE CONTROL LISTS 

i 

I 



{♦♦017 EXTEND BY IS, NON'CONTIGUOUS BLOCKS 




9 000126 OOOCOQ 



1»5 QQQQQO 



! SWITCH CONTROL LIST 
LSTSWTi 



OiJSWTi 



I 



{♦♦003 LISTING SWITCHES 

CSIISW LI.LlMSK..$fT..LivAL .•♦♦003 /Ll SWITCH 

CSilSW NL.NIMSK..SIT..NLVAL ^♦♦005 /NL SWITCH 

.IF NOF XSPOOL i**hh 

CSIfSW SP.SPMSK.tSWTCH.CLEAR.NEG. .'♦♦COS /SP SWITCH 
.INOif ;»^015 

.IF NDF XCRIF :»^00! 

CSIISW Cn.CRMSK.,SET..CftvAL M^OOS /CR SWITCH 

!W0RD JMOoi END OF LISTING SWITCH TABLl 



[CT (I SOURCE) SWITCHES 



/♦♦OOS OBJECT (I SOURCI 
CSIISW EN.ENMSK..S(1..INVAl ;«T00} /EN SWITCH 
CSilSW DS.DSMSK..IrT,.DSVAL M»00l /OS SWITCH 
.WORD ;**m END OF SOURCE I 



OBJECT SWf fABLE 



i vAtur coNTRoi itsr 



•••t I I •••• 



INOFL MACRO MHOS U-OEC-77 09:50 PAGE 5-2 



000013 



000004 
000017 

000017 



000152 



OOOQOO 
000017 



A2 0002A6 000000 

A! 

AA 

A5 000250 

000000 
000017 



0005AA 000000 



\% 0005A6 



00 



000%66 000000 



I 

.IF NDF 

CRVALS«A. 

.ENDC 

DSVALS'11. 

.IRP 
.IIF DF 
.ENDM 

ENVALS-DSVALS 

LIVALS«15. 

.IIF DF 

NLVALS-LIVALS 



♦ ♦017 

VALUE TABLES 
—017 



XCREF ;^^003 

:^^022 NUMBER OF /CR SWHCH VALUES 

.•♦♦005 

^♦♦022 
lX.<ABS.PIC.COR.FPT,PNC.LC.CRF> .•♦♦022 
XE0'»X,0SVALS«DSVALS-1 ,•♦♦003 

;^^003 

.•♦♦003 NUMBER OF 'tN" VALUES 

.'NUMBER 'ir VALUES 
XLCTTM.LIVALS«LIVALS-1 .•♦♦003 

;^^005 NUMBER OF 'T4L" VALUES 



LIVALi 
TMP-6 




,•♦♦003 /LI SWITCH VALUE 


TABLE 




•♦♦5SJ 




.RtPT 


LIVALS 


;^^008 




CSItSV 


ASCII,LIADDR< 


►TMP,3 ^♦♦OOS 
,•♦♦603 




THP-TMP^A 






.ENDR 




;»^00! 




.UORD 





;^^005 END OF /LI VALUE 


TABLE 


NLVAL! 
TMP»0 




.'♦♦003 /NL SWITCH VALUE 


TABLE 




.•♦♦003 




.REPT 


NLVAL S 


.•♦♦003 




CSltSV 


ASCII. NLADDR< 


TMP.3 .♦♦003 




TMP«rMP^A 




.'♦♦00' 




.ENDR 






.WORD 





^♦♦003 END OF /NL VALUE 


TABLE 


.IF NDF 


XCREF 


.•♦♦Q93 




CRVAL! 
TMP.O 




;^^60 /CR SWITCH VALUE 


TABlt 




.'♦♦003 




.nr?T 


CRVAL S 


^♦OOl 




CSilSV 


ASCII.CRADDR< 


► TMf»,3 ^^003 




TMP>TMP»A 










.ENPR 
^WORD 





<»»00 


FND or /CM VAlUf 


T/yftLE 


.INDC 




;^^00 






in' 




,'♦♦66 


/EN SWITCH VALUE 


TABLE 


,RIPT 


INVAIS 


; ♦ ♦00 






CSltSV 

tMP.TMP^A 


ASCll.ENADDR* 


TMP.3 ig 


8 












.ENPR 




)♦♦ a 






.WORD 





J ♦♦00 


FND or /FN VAlUt 


TABLE 



•t** ( I «••• 



INOFL MACRO M1108 U-OEC-77 09:50 PAGE 5-3 

172 

17A 000370 OSVAL: .•♦♦003 /OS SWITCH VALUE TABLE 

175 000000 TMP«0 .•♦♦003 

176 OOOOOA .REPT t>SVALS .•♦♦003 

177 CSIISV ASC11,0SA00R^TMP,3 i^^OOS 

178 TMP»TMP^4 ;^^003 

179 .ENDR ;^^003 

180 000410 000000 .WORD ;^^003 END OF /DS VALUE TABLE 



••«• p I «••• 



INOFL MACRO M1108 U-DEC-77 09:50 PAGE 6 




000000 

202 000000 

203 000002 

204 OOMXK 

205 000010 
,. OOOOU 
)7 000016 

22 

10 
11 




005700 
100030 
116400 OOOUO 



177766 

OOOOOOG 
177776 

OQOQQOC 
122700 u?m 
00U30 
00^767 OOOOOOG 



122700 
00U21 
012701 
122700 
00U42 
012701 

5i?i 

012701 



PURE PUREIJ 



,•♦♦017 



••-SINOFL-INITIALIZE OUTPUT FILES 



INPUTS: 



RO>GET COMMAND LINE RETURN STATUS (CARRY BIT). 

IF RO LT 0, THEN ERROR RETURN. 

IF RO 6E 0, THEN NORMAL RETURN. 
R4>ADDRESS OF GET COMMAND LINE BLOCK. 



; OUTPUTS J 

• 

I R0>PL IF OUTPUT FILES INITIALIZED. 
i RO-MI IF ERRORS WERE ENCOUNTERED. 



IINOFL:: 



301: 



SSli 



000060 000167 OOOOOOG 



TST 

BPL 

MOVB 

CMPB 

BEO 

MOV 

CMPB 

BEO 

MOV 

CMPB 

BEO 

MOV 

CMPB 

BEO 

CALL 



RO 

401 

G.ERR(R4).R0 

«ge.eof.rO 

301 

«CMLM3,R1 

«GE.0PR.R0 

50t 

#CMLM4,R1 

«GE.BIF.RO 

«CMLM5.R1 
#GE.MDE.RO 
50t 
ICMDtR 



.IF NDF VOCMO 
CLOSES «CMOFPB 
.ENOC 



.IF DF fXST 



i.RO 



MOV lExsrs. 

BGE ))t 

MOV «EXISUC,R0 



.IN6C 



JMP 



lENST 



♦♦OU 

♦ ♦OU CHECK RETURN STATUS FROM GCML 

♦ ♦OU BRANCH IF GCML WAS SUCCESSFUL 
GET ERROR STATUS 

END OF FILE? 

IF EO YES 

ASSUME INDIRECT OPEN FAILURE 

OPEN FAILURE? 

IF EQ YES 

ASSUME BAD INDIRECT FILE 

BAD INDIRECT FILE? 

IF EQ YES 

ASSUME INDIRECT DEPTH EXCEEDED 

MAX DEPTH EXCEEDED? 

IF EQ YES 

COMMAND I/O ERROR 

♦ ♦018 



{♦♦018 

.'♦♦005 CLOSE COMMAND OUTPUT FILE 

•♦♦013 'YOCMO' 



;GET STATUS 

.•IF Gf STATUS HAS BEEN SET 

iiiit, SET SUCCESS StATUS 



jEMiT (POSSIBLY WITH STATUS) 



; CD044 



•••• I I tttt 



• CDO 




{ C> 




.' C> 




; C) 








I C 1 




; Ci 








!fi) 




• ••• 





INOFL MACRO mi08 U-DEC-77 09:50 PAGE 6-1 



i59 

|a6 

245 00006A 

244 000070 

245 000076 
2<.6 000102 

247 000106 

248 000114 

251 000150 

252 000154 
255 000140 
254 000144 



004767 
012767 
005067 
012700 
016460 
016460 

105007 
012701 
004767 
012700 
000207 



COMMAND LINE SUCESSFULLV READ 



OOOOOOG 40t: 
OOOOOOG 







000146 000002 
000150 000004 



OOOOOOG 
OOOOOOG 

177777 



4SS 

50t 
601 



CALL 

MOV 

CLR 

MOV 

MOV 

MOV 

CSItl 

BCC 

MOV 

CALL 

MOV 

RETURN 



SAVREG ;t»014 SAVE REGISTERS 

MFDBLS.SNXFDB :**022 INIT AVAILABLE FDB LIST POINTER 

!!1?5 . -« •**S?I CLEAR TABLE SLOT FOR EXTRA FDB 

«CS1BLK,R0 ;t*017 PUT ADDR OF CSIBLK IN RO 

G.CMLD<R4).C.CMLD(R0) :*»017 SET LINE LENGTH 

6.CMLD»2(R4),C.CMLD»2(R0) ,♦♦017 SET LINE ADDRESS 

5g. .•♦♦017 ANALYZE COMFMND LINE SYNTAX 

70S .•♦♦017 BRANCH IF SYNTAX IS O.K. 

«CSIM2.R1 .•♦♦017 COMMAND SYNTAX ERROR 

OUTERM ;^^015 SEND ERR MSG AND CMD LINE TO CMO 

«-1.R0 ;SET ERROR STATUS 



000146 



SYNTAX CORRECT OPEN OUTPUT FILES 



016064 000002 000146 701: 

001771 

152760 000040 000001 

001761 

112760 000002 000000 

012701 0Q00Q6 

012702 OOOni)' 
004767 OOOOOOG 
010067 000006G 



004767 OOOOOOG 

100315 

105767 000006G 

105267 

'^% Mi ""^ Z 

010067 0000040 




1 7 OOOOO; OOOOOOG 
105267 OOOOOOG 



711 1 



MOV 
BEQ 

BITB 
BCO 

MOVB 

MOV 

MOV 

CALL 

MOV 

FDATIR 

FDOPIR 

CALL 

BMI 

TSTB 

BCQ 

INCB 

CALL 

BR 

CLR 

SUB 

CALL 

NOV 

FDATIR 

FDOPM 

MOV 

CLRB 

NOV 

CALL 

IMl 

TSTB 

BNI 

CLR 

$oi 

BR 



C.CMLD(R0).G.CMLD(R4) ^♦♦017 RESET COFWANO LINE LENGTH 
601 :**QM DON'T PROCESS NULL LINE 

#CS.EOU.C.STAr(R0) :**(i\7 CHECK FOR EQUAL SIGN SEEN 
451 1**0)7 IF NOT. DECLARE SYNTAX ERROR 

#CS.OUT.C.TYPR(RO) .♦♦017 SPECIFY OUTPUT REQUEST 



«B1NCHN.R1 
»0BJSWT.R2 
IGTFDB 



;$ET CHANNEL NUMBER 

.SET ADDRESS OF SWITCH LIST 



, -- i**QlZ GET NEXT AVAILMN.E FDB 

RO.FDBTBL^b. ""HN ^♦♦Olf AND STORE IT IN FDB TABLE 



iO.#R.VAR,.«Ot^cEN.i«-1 
R0,«5..«a8JNAM 



TBL^BINCHN 
IJFIL 



fS' 



^^..w-< .♦♦017 SET FILE DATA ATTRIBUTES 
.•♦♦017 SET FILE OPEN PARMVTERS 
.OPEN OBJECT CHANNEL 
;^^014 BRANCH TO LEAVE ON ERROR 
^♦♦014 OBJECT FILE CREATED? 
.♦♦017 BRANCH IF NOT 
.•♦♦014 INDICATE OBJECT FILE CREATFD 
.•♦♦014 CLOSE FILE FOR LATER RE-OPCN 
;^^017 

.♦♦917 INDICATE NO OBJECT FUf 
" RESTORE NEXT FDB POINTER 



7JI 

FDBTBL^BINCHN 

«2.tNXFDB 

tGtFDB ;^^022 GET NEXT AVAIlAiLErDB 

RO.FDBTBL^LSTCHN .'♦♦0?2 STORE ADDR IN fDB TABLE 




RO,*R.VAR,#FD.CR.iLSTLEN,,lLSEXT ,.«.«..., v., 
,♦♦017 SET nif OPEN r'ARAMETERS 



R0.»4..«LiTNAM 
nSTCHN.RI 
lOFTBL^i(RI) 
tLSrSWT.R2 

lOFTBL^LSTCHN 

FDBrBLHSTCHN 
{IJlNXTDB 



••018 Str DATA ATIRIBS 



INCB LSTFIL 



;SET CHANNfl NUFIttR 
.CLEAR SPOOLED DEVICE FlAQ 
;SET ADDRESS OF SWITCH UST 
\H CHAfMEL 

)14 BRANCH TO LEAVE ON ERROR 
^14 USTJNC fllf CREATED? 
••017 BRANCH IF TRUE 
••017 INDICATE NO USMNC MlE 
•♦022 RESTORE NEUT tm POINTFR 
;«*ri1? BRANCH to RFtuRN 
;• 17 
;mUU INDICATE LISTING FILE CREATED 



; CD049 



{•••4 



••«• 9 I •••• 



i»ArMt\ mtAa tA-n»f->> na.Kt\ m^t.t 4-3 



"I 



INWL NACRO mi 08 U-OEC-77 09:50 PA6f 6-2 



296 
297 

300 000456 

301 000442 

302 000444 
SOS 000450 



105767 0000056 

001002 

004767 000002 



79$: 



000417 




80t: 



16100 OOOOOOG 

62705 OOOOOOG 
64 012546 
66 01 2546 

76 10)061 OOOOOOG 



901: 



951: 

loot! 



.IF DF RSX11M 



;»»0?2 



TSTB 

BNE 

CALL 



.ENDC 



lOFTBLtULSTCHN ;0UTPUTTING TO A SPOOLED DEVICE? 
79$ .IF NE YES 

90$ .■*t022 CLOSE LISTING FILE 

:REF LABEL 



CD049 
CD049 

CD049 



.IF NDF XCREF 



CALL 

BMI 

TSTB 

BEO 

INCB 

.IFF 

m 

.ENOC 



WV 
MOV 
ADO 

m\f 

MOV 

MOV 

CL0SE$ 

CLW 

MOV 

MOV 

MOV 

CIR 

RETURN 



.END 



$OPCRF 
100$ 

10FTBL*CRFCHN 
93$ 

CRFFIL 



95$ 



.•t»017 

.♦♦022 

.♦♦022 OPEN CRF FILE IF NEEDED 

;^^022 IF MI ERROR 

.♦♦022 WAS A FILE CREATED? 

.♦♦022 IF EQ NO 

;^^022 FLAG EXISTENCE OF CRF FILE 

.♦♦022 

.•♦♦022 BRANCH TO LEAVE 

.♦♦022 



FOBTBKRD.RO 

R0.R3 

fF.FW^N.FID.RS 

(R3)^,-(SP) 

(R5)^.-<SP) 

(R5)^.-(SP) 

lOfTBL(RI) 

(SP>*.-<RS) 

($P)^.-(R5) 

(SP)^.-(RS) 

RO 



♦ ♦014 

♦ ♦014 

♦ ♦015 

♦ ♦014 

♦ ♦014 

♦ ♦014 

♦ ♦014 

♦ ♦014 

♦ ♦014 

♦ ♦014 

♦ ♦017 

♦ ♦014 



GET FDB ADDRESS IN RO 
•OINT RS TO THE ... 
... FILE ID 
SAVE ... 

• • • THl • • • 

... FILE ID 

Close the output mlf 
set file closed status 

RESTORE ... 

• • • Irff • • t 

... FILE ID 

SET FILE SUCCESS STATUS 



•••• 



TT 



*«•• 



mtlVB tl.-A«r-V* fM,^t\ MAAt A.t 



INOFi MACRO M1108 
SVMKl TABLE 

eiNCHN> 



U-OEC-77 09:50 PAGE 6-3 



CHMt 

CMLNS 

CHLWi 

CMLN9 

CnOCHN^ 

CNTtt 

CPL 

CSIBLK 

CS1M2 

CS.DIF 

CS.DVF 

CS.EQU> 

CS.INP' 

CS.MQR 

CS.NMF 

CS.OUT 

CS.M.D 

C.CMLD 

C.DfVD 

C.DIRO 

C.OSOS 

C.FILD 

C.PKWI 

C.Mikttf 

C.SIZC 

C.STAT 

C.SWAO 

C.TVWIi 

DSAOOA 

DSMSK 

. MS. 



DPURE OOMK 
PUMIi 000)U 
EHMWS DETECTED: 



DsvAL oooyoR 

DSVALS> 000004 
ENA00U« •••••• GX 

ENPISK > *••••• GX 

ENVAL 00034M 
ENVALS> 000004 
r08TIL« •*•••• GX 

fO.CH " ••••♦• GX 

F.ALOC" •••••• GX 

F.DFNB- •••••• GX 

F.FNi • •••••• GX 

F.LUN ■ •••••• GX 

r.RATT« •••••• GX 

F.RSIZ- •••••• GX 

F.HTVP« •••••• GX 

CE.BIF. 177775 
GE.CLO- 000004 
GE.C0P«- 000001 
GE.CON> OQOQ?0 
GE.EOf- 177766 
GE.IND* OOOOOl 

CE.LC ■ 0QQQ10 
6E.WE* y77?7i> 
CE.OPH- 177776 
GE.WG- 177730 
GE.SIZ- 000040 
G.CP«.D- 000146 
C.DmW- 000160 
G.EMU ■ 000140 
C.I$I7« 0000?0 
G.M00E> 000141 



00? 



00? 




viRTUAi mmmy used.' 6?4i mwds ( ?5 mgis) 
DfNArnc mmm^: \hu mmds ( 60 pages) 

ELAPSED riMEi 00:00:57 
INOFI,C30,30J1 



G.PSDS« 

G.SIZE> 

ILVL " 

lOFTBL* 

LIADDM- 

LIMSK > 

LINLEN' 

LIVAL 

LIVALS- 

LPP ■ 

LSTCHN> 

LSTFIL 

LSTLEN> 

LSTNMI 

LSTSWT 

FMXCHN> 

NLADDM- 

NLMSK • 

NLVAL 

NLVALS* 

NUISEC- 

N.DID ' 

N.DVNPM 

N.FID • 

N.FTrP- 
N.FVEN* 
N.NEXTi 
N.STAT. 
N.UNIT* 
OBJFIL' 



000001 

*••••• GX 
••*••• GX 

)?04 

174 
000004 



a ••*«•• GX 




000?50fl 

000017 

000004 

0000?4 

00003? 

000000 

000006 

000014 

000016 

0000?? 

0000?0 

000034 

••*••• GX 



JINOFL/-SP-130.10]PSMPAP.«PA«V(,WIOCM.CEN«CJNOFL 



OBJLEN 
OeJNAM 
OBJSWT 
OPENCH 
OUTEM 
PARUI 
RELCHN 
00? RLDLEN 
RSXIIN' 
RtSIIN 
R.VAR 
SAVREG 
SIZtl 
SMLCHN 
SPV.LEN 
SPMSK 
SRCCHN 
SRCLEN 
STLLEN 
SUMAC 
S.FDB 
S.F 
S.FNB 
S.FNIW 
S.FNTY 
S.FTYP 
S.NFEN 
TUP 

TMPCNT 
TTLLEN 
XISRCH 



00? 
00? 



00? 



Wd^ 


XCREF . 
00? XEDABS' 


:» 


0001 30R 




00? XEDCDR' 


' ooooo! 


•••••• 


GX 


XEDCRF' 


••*•** 


GX 


XEDFPT' 


. 00000( 


000000 




XEDLC < 


. 00000( 


Xi 




XEDPK' 
XEDPNC' 


:m3 


000000 




XKTG " 




000000 




XOPEXP> 


' 00000( 


•••••* 


GX 
GX 


XRCERR' 
XSUW • 


' oooooi 


§SSS?I 




X7ERR ' 
X45 > 


, 000000 
' 000000 


0001 ?0 




rocw • 


' 000000 


•••••• 


GX 


tCMDER- 


' GX 


00000? 




lEXST • 


1 •••••• GX 


000?04 




tFDBLS' 


. •**•*• GX 


000100 




ICTFD8' 


1 *••*•• GX 


000001 




IINOFL 


OOOOOORC 


000140 




KSExr 


000074RG 


000006 




tNXFDS' 


•••••• GX 


000036 




ISWTCHi 


•••••• GX 


000017 




tXFDB • 


••••** GX 


000004 




II 


000000 


00000? 




.CLOSE' 


•*•*•• G 


0000?0 
0000?0 




.C$11 • 


•••••« G 




...PCI- 


000000 


000014 




...PC?- 
...PC3« 


00005?R 


000040 




000000 


000000 




...TPC« 


0000% 



003 
00? 



00? 



•••• 



TT 



••ft 



1 




•t«« 1 I •••« 



LABEL MACRO mi08 U-OEC-77 09:51 PAGE « 



m§ 




001004 
000506 



.TITLE LABEL 
.lOENT /05/ 



COPYRIGHT (C) 197'2,1976 

DIGITAL EQUIPMENT CORPORATION. NAVNARD. MASS. 

THIS SOfTUARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND NAY BE COPIED ONLY yiTH 1HE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTUARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILMLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION OS 

B. BOWERING MAIN AUTHOR 

MODIFIED BYi 



D.N. CUTLER W-JAN-7J 

C.A. D^LIA 12-NOV-73 

D'ELIA 16N0V-7S 

D'ELIA ?i-JAN-74. 



C.A. 
C.A. 
H.A. 
C.A. 
C.A. 
C.A. 
C.A. 



NICHOLS 

d'elia 

D'ELIA 
D'EIIA 
D'ELIA 



16 I 

01-: 



, JUN-7A 
01 -AUG- 74 
W-0CT-7S 



01 -NOV- 
13-OCT- 



75 
76 



006 
009 
01? 

0?1 

Oil 

Oi9 



(VIRT MEMORY) 

(MDF AND NS:: F|XfS) 

(IMPR PCRFORFUNCE) 



••--LABEL"LABtL PROCESSOR 



LABEL: 



OOOOOOG OOOOOOG 



lOOli 



PURE PURt I . I 

.ENABL LSB 

CMP SYMBOL .R50DOT 

BNE loot 

{RRQR Q 

BR 61 



;**006 LABEL 



PROCrSSOR 



0000^0 032767 OOOOOOG OOOOOOG 



ii; 



NDf NFplSB 

tED.LSB.tDMASR 



;PERIQO? 
.•♦♦Ol< NO. %H\f> 
.•♦♦01? YfJ. FRROR 
,'•♦01? BR^MCH ro LEAVE 

j**017 IS .ENABV LSB IN EFFECTT 



•••• 



J I •••• 



MAfkn HIIAM lA..ltftr.Vy Mid »kht &>1 



LABEL MACRO Ml 108 U-OEC-77 09:51 PAGE *-1 



58 000026 

59 000030 
60 

61 OOOOM 

62 

65 

64 000034 

65 000040 

66 000040 

67 000044 

68 000050 

69 000052 

70 000056 

71 000062 

72 000066 
78 000070 



00 uo^ 
005067 



OOOOOOC 



012703 
032713 
001402 
042713 

020527 
001004 
052713 



052713 
001012 
016700 
042700 
052700 
05001 5 
016714 

m 

)1420 
?6714 
)1003 
?6712 
)1414 
)5767 
)1407 
i2715 
)1011 




ooooooc 

000020 
000120 
000072 
000100 



000010 

OOOOQOG 

000337 

000012 

0000000 

000002 

OOOOOOQ 

0000000 

0000000 

000004 



000004 
000004 



2001: 



500S: 

LABELFi 

4001) 

lOti 

111: 
111 

2tt 

8? 

4li 



mi m& 



G OOOOOOG 



llf' 



BEQ 

CLR 



.ENOC 

SSRCH 

CRFDEF 

NOV 

BIT 

BEQ 

BIC 

GETNB 

CNP 

BNE 

BIS 



GETNB 

SETXPR 

BIT 

BNE 

NOV 

BIC 

BIS 

BIS 

NOV 

BR 

BIT 

BEQ 

CW> 

BNE 

CNPB 

BCQ 

TST 

BCQ 

BIT 

BNE 

ERROR 

BR 

BIS 

BIT 

BEQ 

ERROR 
INSERT 
SETPrO 
SETNB 

Si 



^9?*., •♦*2 J *", DON'T CHANGE BLOCK NUMBER 

LSFLAG .•♦♦017 CLEAR AUTO-GENERATED SYMBOL BASE 

;♦♦§ 7 ... AND INDICATE NEED NEW BLOCK 

,•♦♦017 

;N0, SEARCH THE SYMBOL TABLE 

«FLA6S,R3 .•♦♦022 POINT R3 TO FLAGS WORD 

#DFGFLG,(R5) .•♦♦022 IS DEFAULT GLOBAL BIT SET? 

300ft ^♦♦022 IF EQ NO 

#DFGFLG!GLBFLG,(R3) ^♦♦022 CLEAR DEFAULT AND GLOBAL BITS 

.•♦♦02J BYPASS THE COLON 
R5.#': ;^^022 IS NEXT CHAR ANOTHER COLON? 
400ft .♦♦022 IF NE NO 

«GLBFLG.(R3) .•♦♦022 SET GLOBAL BIT 

.♦♦006 ALTERNATE ENTRY FOR LOCAL LABELS 

,-♦♦022 BYPASS THE COLON 

.♦♦022 

.♦♦006 SET EXPRESSION REGISTERS 
»DEFFLG.(R5) .ALREADY DEFINED? 
1ft ; YES 

CLCFGS.RO ;N0. GET CURRENT LOCATION CHARACTERISTICS 
#S77-<RELFLG>.R0 .CLEAR ALL BUT RELOCATION FLAG 
fDEFFLG'LBLFLG.RO ;FLAG AS LABEL 



R0,(R3) 

CLCL0C.(R4) 

5ft 

«LBLFLG.(R3) 

20ft 

CLCL0C,(R4) 

2ft 

CLCSEC.(R2) 

PASS 

20ft 
«MDFFLG,(R3> 

P 
)ft 

#MDFFLC.<R5) 
#MDFFL6.(R3) 
5ft 



CHRPNr.LBLEND 
STMNT 



;SET NODE BITS 

. AND CURRENT LOCATION 

,•♦♦022 BRANCH TO INSERT SYMBOL 

;DEF|NED. AS LABEL? 

,'♦♦012 NO. MULTI-DEFINED ERROR 

;HAS ANYBODY MOVED? 

; YES 

.SANE SECTOR? 

.'♦♦022 \% THIS FIRSr PASS? 
.•♦♦022 V EQ YES—MUlTI-DEflNFD SYMBOl 
;*«022 WAS SYMBOL Al READY MUl f I-DIF INtD? 
••♦♦022 ll* Nf YES— INHIBIT P t«ROR 
,'♦♦022 ELSE, SYMBOl IS JUST QUI OF PHASE 
,-♦•022 BRANCH TO INSFR? NEW DEFN 
,♦♦022 SET MULTI-DEFINED flAG 
,•♦♦012 MULTI-DEFINED LABEL? 



.'♦♦J 

!♦♦ 

;♦♦( 



NO, SKIP 



YES. DECLARE ERROR 
. „. INSERT LABEL DEFINITION 
.•♦♦017 PRINT THE LOCATION flUD 
;BYPASS ANY f XI 
.MARK END OF .'L 
;TRY FOR MORE 



ooooot 



.DSASL LSB 
.END 



•••• K I •••• 



rz: 



a^A. fc.% Ml t AM 



<x_>»tf-»» KH.H 



tikr.t i.-> 



LABEL MACRO Mil 08 
SYMBOL TABLE 



AM.DEC 
AM.DEF 

AM. INC 

AM.NDX 

AM.PC 

AM.REL 

ASTFLG' 

BLKT01 

BLKT02 

BLKT03 

BLKTO<> 

BLKT05 

BLKT06 

CHRPNT 

CH.ADO 

CH.ANO 

CH.BSL 

CM. COL 

CH.COM> 

CH.DIV 

CH.oa 

CH.DOT 

CH.EQU 

CH.HSH 

CM.INO 

CM.IOR 

CH.LAB' 

CH.LP 

CH.MUL 

CH.PCT 



t8 



000027 
000020 
000060 
000007 

mi 

000001 
000002 
000005 
000004 
000005 
000006 
•••••• GX 

000053 
000046 
000134 
000072 
000054 
000057 
000044 
000056 
000075 
000043 
000100 
000041 
000074 
150 




14-DEC-77 09:51 PAGE 4-2 



CH.QM 

CH.QTM 

CH.RAB' 

CH.RP 

CH.SMC 

CH.SUB< 

CH.UAR 

CH.XCL 

CLCFGS 

CLCLOC 

CLCSEC 

CPXADD 

CPXANO 

CPXCOM" 

CPXCON 

CPXDIV 

CPXFLG 

CPXGLB 

CPXIOR 

CPXMUL 

CPXNEG 

CPXOPC 

CPXREL 

CPXSDS 

CPXSTO' 

CPXSUB 

CR 

CSTACC 

CSTALO 

CSTFLG 



000001 
000005 
000011 
000020 
000004 
000200 
000016 



000010 
000010 
000017 
000013 
000012 
000002 
000015 
000020 
(^00004 
000050 



CSTGBL> 

CSTMEM> 

CSTREL' 

CSTTVPs 

DEFFLG 

DFGFLG 

DIG.O 

DIG. 9 

EDMASK 

ED.LSB 

ERRBTS 

ERR.M 

ERR.P 

ERR.Q 

FF 

FLAGS 

GETNB 

GLBFLG 

GSDTOO 

GSDT01 

CSDT02 

GSDT03 

GSDT04 

GSDT05 

GSDr06 

ILVL 

INSERT 

LABEL 

LABELF 

LBLEND> 



. ABS. 000000 
000000 
PURE I 000252 
ERRORS DETECTED: 



000 
001 
002 



VIRTUAL MEMORY USEU: 2680 WORDS ( 11 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:17 

LABEL. t50.50]LA8EL/-SP-t 50, 103RSXPAR.GENMC.FLGDF. LABEL 



1100 

000040 

000200 

000010 

000020 

000060 

000071 

••♦••• GX 

•***•• 6X 

•••♦♦• GX 

•*•••• GX 

****** GX 

****** GX 

000014 

****** GX 

****** GX 

000100 

000000 

000400 

001000 

001400 

002000 

002400 

003000 

000001 

****** GX 

OOOOOORG 

0000 74RG 

****** GX 



LBLFLG 


• 000002 
« 000101 


LET. A 


LET.B 


« 000102 


LET.C 


' 000103 


LET.D 


. 000104 


LET.E 


« 000105 


LET.F . 


> 000106 


LET.G < 


' 000107 


LET.O 


« 000117 


LET.Z ' 


• 000132 


LF 


• 000012 


LSFLAG' 


1 ****** 


LST.KB' 


. 000001 


LST.LP' 


. 000002 


MDFFLG' 


. 000004 


NUISEC> 


. 000004 


PASS > 


I ****** 


PSTFLG' 


. 000050 


REGFLG' 


. 000001 


RELFLG> 


> 000040 


RLDTOO- 


■ 000000 


RLDIOI- 


■ 000001 


RLDT02> 


. 000002 


RLDT05- 


. 000003 


RLDT04< 


. 000004 


RLDT05' 


000005 


RLDT06< 


000006 


002 RLDT07' 


000007 


002 RLDTIO-' 


000010 


RLDT11' 


000011 



GX 



GX 



RLDT15« 

RLDT16= 

RLDT17= 

RSXIIM' 

RStllM- 

R50DOT« 

SETNB > 

SETPFO« 

SErXPR" 

SPACE > 

SSRCH ■■■ 

STMNT = 

SUBMAf:^ 

SYMBOL - 

TAB 

VT 

XBSRCH 

XCREF 

XEDABS 

XEDCDR 

XEDFPT 

XEDLC 

XEDPIC 

XEDPNC 

XFLTG 

XOPfXP 

XRGFRR 

XSUBD 

XZERR 

X4S 



000015 
000016 
000017 
000000 
000000 
****** 



****** 

000040 
****** 
****** 

000001 

****** 

000011 
000013 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 



GX 
GX 
GX 
GX 

GX 
GX 

GX 



•••* L I •••• 



1 




*•*• H I •••* 



I letr ik&rBn HMOft U.btr-77 OOitl IkAOl 4 



LISTC MACRO MI108 U-DEC-77 09:51 PAGE 4 



.TITLE 
.IDENT 



LISTC 
/06/ 



^0 000000 




OOOOOOG 

onooooo 



COPYRIGHT (C) 1972.1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF, NAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 06 
B. BOWERING 

MODIFIED RYi 



D.N. 
C.A. 
C.A. 
H.A. 
C.A. 



CUTLER 6-FIB-7S 
D'ELIA 25-JAN-7'. 

D'ELIA 07-APR-7< 

NICHOLS 1S-JUN-7<i 
D'ELIA 20-OCT-75 



or 

015 

Oil (VIRT MEMORY) 



PURE 



PURE I . I 



;»»017 



;♦ 

I •♦-LIST-IIST/NOLIST PRINT CONTROL FUNCTION 
; ♦»-PAGF-PAGE EJECT 

;- 



LiSTii 



111 



n> 



ASL 
INC 
TSTARG 

r$ 

BNf 

!Nf 

GirSYM 

SCANW 



i\ 

ARGCNT 
71 

ARCrNT 

ICDROL 



MIST' 



♦♦Oil R5»0 IMPLIES 

♦ ♦Oil R<-1 IMPLIES ".NLIST' 

♦ •on NOW MAKF H\ FltHrR OR 
NOW 1 /"I 

TEST FOR ANOTHER ARGUMENT 

VALID 
NULL. FIRST? 

NO. WE'RE THROUGH 
VF^, MARK ir 
TRY FOR A SYMBOL 
LOOK I? UP IN »Ht tABL" 



*•*• 



TTT 



*••• 



LISK MACRO miOe U-DEC-77 09:51 PAGE 4-1 




07 

000?07 
OOOOOt 



OOOOOOG 

OOOOOOG 

OOOOOOG 

OOOOOOG 
OOOOOOG 

OOOOM 
OOOOOOG 



OOOOOOG 



3t: 



111: 
la: 



4t: 



51: 
61: 
7»: 
OOOOOOG PAGE : : 
OOOOOOG OOOOOOG PAGEX: 



BEQ 

CLR 
SEC 
ROL 

:oB 

TST 

BEQ 

BIS 

BR 

BIT 

BNE 

BIC 

Bir 

BEQ 

CALL 

ADD 

BEQ 

TST 

BPL 

BIS 

BR 

ERROR 

RETURN 

INC 

BIS 

RETURN 

.END 



6S 

R2 

R2 

R0.3t 

EXWLG 

11f 

R2.LCMCSI 

R2.LCMCSI 
St 

rI.lcmask 

R2.«LC. 
4t 

PAGEX 

R3.LCLVL 

51 

R3 

5t 

R2.LCNASX 

It 

A 

MCNT 
«LC.Lt>.LCFLAG 



; ERROR IF NOT FOUND 



CALLED FROM COMMAND STRING? 

NO 
YES, SET DISABLE BITS 

AND SKIP TEST 
THIS FLAG OFF LIMITS? 

YES 

NULL? 
NO 

set listing control 
yes. update level count 
don't set flag if back to zero 

.list. branch 

try for more 



;SIMULATE FORM FEED AFTER THIS LINE 
;FLAG AS LISTING DIRECTIVE 



••td 



rr 



•••• 



000060 
000007 
000067 
•••*•♦ GX 

0001U 



LISTC MACRO Ml 108 
SYMBOL TABLE 



AM.DEC 
AM.DEF 

AM. INC 

AM.NOX 

AM.PC 

AM.REL 

ARGCNT 

ASTFLG' 

BLKT01 

BLKT02 

BLKTOS 

BLKTM 

BLKT05 

BLKT06 

CH.AOO 

CH.ANO 

CH.BSL 

CH.COL 

CH.COM- 

CH.OIV 

CH.DOL 

CH.DOT 

CH.EQU 

CH.HSH 

CH.INO 

CH.IOR 

CH.IAB 

CM. LP 



U-UEC-77 09:51 PAGE 4-2 



000046 




3 

^1100 
000041 
000074 
000050 



CH.MULs 
CH.PCT« 
CH.QM > 
CH.QTM- 
CH.RAB- 
CH.RP « 
CH.SMC' 
CH.SUB> 
CH.UAR- 
CH.XCL- 
CPXAOO' 
CPXANO' 
CPXCOM> 
CPXCON- 
CPX01V« 
CPXFLG- 
CPXGLB- 
CPXIOR" 
CPXMUL- 
CPXNCG- 
CPXOPC« 
CPXREL" 
CPXSDS- 
CPXSTO- 
CPXSUB- 
CR - 
CSTACC- 
CSTALO« 
CSTFLG- 



000052 
1045 
177 
)42 
000076 
000051 
000073 
000055 
000136 
000047 
000001 

000004 

okioo 

000016 
000006 

m 

000017 
113 

112 

»'?! 

000020 
000004 
000050 



CSTGBLx 000100 




LC. . 


. ****** GX 


RLDT07> 


CSTMEM> (0 001 




LC.LD < 


6 ****** 6X 


RLDT10« 


CSTREL> 000046 
CSTTYP- 000200 




LET. A ' 


• 0001(11 


RLDT11« 




LET.B > 


' 000102 
' 000103 


RLDT15- 


DEFfLG« OO 010 




LET.C ' 


RLDT16' 


DFGFLG> 000020 
DIG.O ■ 000060 




LET.D ' 


' 000104 


RLDT17- 




LET.E • 


' 00011 5 


RSX11M* 


016.9 « 000071 




LEr.F ■ 


' 0001(6 


RStllM* 


ERR6TS> •••*•• 


GX 


LET.G < 


' 0001(7 


SCANW > 


ERR. A ■ *••••♦ 


GX 


LET.O • 


. 00017 


SPACE > 


£XMfLG« ••*•♦• 


GX 


LET.Z • 


« 0001:2 


SUBMAC- 


FF > 000014 




LF 


> 000012 


TAB > 


FFCNT « ••♦••• 


GX 


LIST 


OOOOOORG 


002 TSTARG> 


GETSYM- •••••• 


6X 


LST.KBi 




VT 


GSDrho- 000000 




LST.LPi 
MOFFLGi 


; JJJJ5J 


XBSRCH> 
XCREF > 


GSDT01> 000400 
GSDT02- 001000 
GSDTO!" OOUQO 




NUSSEC I 
PAGE 


' 000144RG 


XEDABS- 
002 XEDCDR> 




PACEX 




002 XEPFPT> 


GSDTM- 002000 




PSTFlG- 


XEDLC ■ 


GSDTQ5- QQ2400 
6SDT06> 003000 




REGFLC' 
RELFLG' 


I 000040 


XE0P1C« 
XEbPNC' 


ILVL ■ 000001 
LBLFLG- 000002 




RLDT00> 
RLOTOI" 


' o8o?o? 


XFLTG « 
XOPEXP> 


LCOROL" • 

LCFLAG" ••♦♦•• 


GX 
GX 


RLDT02> 
RL0T05" 


000003 


XRGERR- 
XSUBD > 


LCLVL ■ •••••• 


GX 


RLDT04< 


owy 04 


XZERR > 
X4S « 


LCMASIC- •••••• 


GX 


RL0T05- 


000 05 


LCMCSI- •••••* 


GX 


RLDT06> 


000006 





. ABS. 000000 000 

000000 001 

PUREl 000160 002 

ERRORS DETECTED I 

VIRTUAL MEMORY USED: 2610 WORDS ( 11 PAGES) 

DYNAMIC MEMORY: 157/.4 WORDS ( tO PAGES) 

ELAPSED TIME: 00)00: 1« 

LISTC, t50,503LISTC/-SP-[50.10]RSXPAR.GENMC,FLGDF. LISTC 



000007 

000010 

000011 

000015 

000016 

000017 

000000 

000000 

****** GX 

000040 

000001 

000011 

****** GX 

000013 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 

ocoooo 

000000 
000000 
000000 
000000 
000000 



«••* ( f MM 




••** p 9 *••* 



rrr 




•••• I f ••#• 






LSTNG WkZm mi08 U-DEC-77 09:51 PAGE 6 




.TITLE LSTN6 
. I DENT /09/ 



COPYRIGHT (C) 1972.1976 

DIGITAl EQUIPMENT CORPORATION, NAVNARO, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLb COMPUTER SYSTEM AND NAY BE COPIED ONLY WITH THE 
INCLUSION OF THE /MVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. NAY NOT BE PROVIDED OR OTHERWISE 
MOE AVAILMLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 09 



B. 
t 
I 
I 

i 
I 
I 
I 
I 
I 
; 

;♦ 
. •• 

; •• 
; •• 

■ •• 
. •• 

;- 



BOWERINQ 

MODIFIED BY: 



D.N. 
C.A. 
C.A. 
C.A. 
H.A. 
C.A. 



CUTLER 
D^ELIA 
D'ELIA 
D'ELIA 
NICHOLS 

d'elia 



6-FE 



71 

-J AN- 74 
•MAR-7A 
APR-7A 
•-JUN-7A 
01-NOV-75 



57-« 



(CREF) 



■SETPFO-SET PRINT FIELD «R0 
■SETPFMtT PRINT FIIlD ONE 
•SETWDB*$ET WORD OR BYTE 
>SiTWRD-SET WORD 
•SETBYf-SET BYTE 



PURF. PURE I , I 



SfTPFOi 



SfTPFIi 



SET 



SfTWRD: 



MOV 

BISB 

MOV 

RETURN 
:MOV 

««• 

RETURN 
ifSf 



,ei 



f^oo.w'oo 
clclOc.pfo*? 

fioo!pno 

VALUE .PF1«? 

(Rt) 
SITPYT 

R1.-($P) 



;StT CURRCNT LOCATION HM% 
; ASSUME WORD 
;SET LOCATION 

.-SET MODF or rURRFNT VALUE 
; ASSUME WORD 



;POSniVf^ 
; NO. BTTf 
{STACK INOFX 



•••• 



TT 



•«•• 



MAfkn MItn* li.-ik«r.yT fMitl saas &•! 



LSTHG HACRO KHM U-OCC-77 09:51 PAGf 6-1 



n 000056 

59 000061 

60 000066 

61 oMoro 

62 000072 

63 000076 

65 000102 

66 000106 

67 000112 
6« 0001U 

69 000116 

70 000120 
' 000122 

000124 

7A 000150 
75 OOOlg 

77 C0OU2 

78 000U6 
79 



71 



)150 

8000156 
000160 

84 0001 62 

85 000166 

86 000170 
87 

88 OOOOQO 

89 000000 

90 000004 

91 000010 



016101 
112712 
006301 
106122 
012700 
000416 
010146 
116101 
012700 

110022 
110022 
000301 
106001 
000241 
006001 
012700 
000300 
062700 
112712 
006301 
106112 
105300 
003374 
105722 
000300 

012601 
000207 




000005 



000002 
000040 



000003 

000003 
000006 





NOV 


2<R1).R1 




;GET ACTUAL VALUE 




NOVB 


«OIG.6/2. 


R2) 


;SET PRIMITIVE 




ASL 


R1 








ROLB 


(R2)t 




.-MOVE IN BIT 




MOV 


f5.R0 








BR 


SETBYX 






SETBVT: 


:WV 


RI.-(SP) 




.•STACK INDEX 




NOVB 


2(R1),R1 

«SPACE,R0 

R0.(R2)* 




;GET VALUE 




NOV 








NOVB 




;PAO WITH SPACES 




NOVB 


RO.(R|)t 
R0.(R2)« 








NOVB 








SMB 


R1 




.•MANIPULATE TO LEfT HALF 




IKMB 


R1 




;GET THE LAST GUV 




CLC 










(KM 


R1 








NOV 


f3.R0 






SETBVN 


SUM 

ADD 


RO 
«3.R0 








NOVB 


fOIG.0/10 


.<R2) 




It! 


ASL 

ROLB 

DECB 

BGT 

TSTB 

SUM 

SOB 


R1 

(R2) 

RO 

It 

(R2)* 

RO 

RO.SETBVX 

(SP)*.R1 








NOV 








RCTUNN 










.WfCT 


|NPLIN.D.( 


iRL.RW 


.♦♦017 


P^On 

Wl!l 


.BIKW 






.BIKW 


2 








PUN 


PUREI.J 




;»»017 



. ••-PUTRB-LlSf UN KB 

; ••-PUTLP-LIJT ON LP 

; ••-PLiTKBl-LnT ON KB ANO iP 

i •^-PUTLIM-OUTKJT LINE 



000001 000000' PUTKBti NOV 

BR 
1 OOOOQO' PUTRBl::N0V 
?• 000000' PUTLP^: BISB 

PUTLlNnSAVRfG 
NOV 
NOVB 
CLR 
T5T 
BIO 
T 
C 



OOOOOOG 



t 



S 



fLST.KB.LSTREO 

putlin 

«LSr.KB,L$TR{0 
LSTDEV.lSTREO 

RO.RI 

LStR|Q.R4 

LSTREO 

R4 

PUTII9 

Ml 



SET REQUEST 

SET REOUtsr 
SET LP REOUEST 
SAVE REGISTERS 
ARG TO R1 
r»ET REQUEST 
CLEAR IT 



JUST 
ONif 

trs, 

SKIP 



iKlf If EMPTY 
HEADER If NOT L 
OffREMENT fOUNT 
If NOT TIME 



ISTINO 



•••• I f #••• 



•KArMM MtiA* ti..it*r_yy na.ti baam A.ma 



1 



LSTNG MACRO HUM U-OEC-77 09:51 PAGE 6-2 




THE FOLLOWING REFERENCE lA8EL, 'LINPPG' IS DEFINED TO ALLOW THE 
SETTING OF MAXIMUM LINES PER PAGE AT TASK BUILD TIME. 



000276 
000302 
128 000306 

130 000316 
" 000320 




157 000356 
13$ 0OO166 
189 000370 
UO 000370 
U1 00037? 



^i>{ 000374 
US 000376 
UA OOOAOO 
U5 000402 



000404 

133 000410 

134 00041? 
133 000414 



000232' 

012767 

010146 

016702 

005767 

001421 

012701 

016701 

0^«'»67 
0\. 406 
11<7?? 
016701 

105012 



01?601 

010102 
010203 

n?i?? 

003376 
114?00 
001403 



000074 

OOOOOOG 
OOOOOOG 

000000' 

OOOOOOG 

OOOOOOG 

000055 
OOOOOOG 



.—012 
LINPPG««.»2 
OOOOOOG PUTLI1: MOV 



112741 000077 




llti 

PUTLI21 
211: 



2»i 



OOOOOOG OOOOOOG 
OOOOM 



24ti 



231 > 



MOV 
MOV 
TST 
KQ 

MOV 

MOVBYT 

MOV 

DNC 

INC 

BEU 

MOVB 

MOV 

DNC 

CLRB 

PUTLP 

PUTLP 

PUTLP 

MOV 



fLPP.LPPCNT 

R1,-(SP) 

TTLBRK.R2 

PASS 

11» 

«PAGMNE.R1 

PAGNUM.RI 

PAGE XT 
lit 

f'-,(R2)* 
PAGEXT.R1 

(R2) 

fTTLBUF 

fSTLBUF 

fCRLF 

(SP)».R1 



MOV R1.R? 
MOV R?,R3 
MOVB (Rl)t.(R?)* 
HCT ?1l 
MOVB -(R2).R0 
BCQ ?2t 
.IF NOF XIDLC 
BICB #200. -(RD 

211 

«CH.QM.(R1> 



227 000204 



MOVB 

.IF» 

MOVB 

.(NPC 

BR 

CMP 

BCQ 

MOVB 

Vi' 

CMPB 
BIO 

.IF DF 
MOVB 
MOVB 
.fND( 

sua 



.IF IT 

fMP 

Bit 



.■^»012 REF LABEL (MAX LINES PER PAGE) 

; RE SET COUNT 

; STACK CURRENT POINTER 

;GET END OF PRESFT TITLE 



.MOVE 'T>AGE" INTO POSITION 
.'CONVERT TO DECIMAL 



.SET SEPARATOR 

;GET CURRENT PAGE EXTENSION NUMBER 

; CONVERT TO DECIMAL 

;PRINT Tir " 

I suB-»:u.. 

; AND A BLANK LINE 

;»»014 

;»»015 USE THE TEXT BUFFER AS OUTPUT BUFFER 

;SAVE A COPY 

.-MOVE CHARACTER TO OUTPUT BUFFER 

;LOOP I' NOTHING SPECIAL 

{SPECIAL. BACK UP AND SET RO 

lim IF NULL 

.'CLEAR SIGN BIT IN SOURCE 
;RE-STORE IF LOWER CASE 
;MUST Bf ERROR 



tCH.OM.-(RI) .'ILLEGAL CHAR. SET 'T 

21t 

R2.R3 
241 

"(R?),RO ;rcn,n rmt\.tv\n 

#CT.SPT.CTTBL(RO); SPACE OR. TAB? 



.'AT BEGINNING? 
: VES. DON'T RETREAT 
FETCH PRECEDING CHAR 



tYT.(R?)» 
23t 

DOS 

«CR,(R2)t 

ftF,(R?)* 

R3.R2 



. VES, TRIM IT 

;MOVE To END. A VT? 

; YES. NO CR/LF 

;REF lABCL 

,•♦♦013 

; INSERT CR 

;$ET IF 

; COMPUTE CHARACTER COUNT 



LSTlt 



TltN-<$RCLtN»40.> i»»on 

STlfN ;^»QlJ 15 OUTPUT 

i^Ol) BRANCH IF 



LARGER 
NOT 



THAN AUOWAlKr^ 



•*•• H 9 •••• 



I .... 



Mtift« ii.-Mf.yy ft«itt >A<ii <k-.< 



LSTNG MACRO miO« U-OEC-TT 09:51 PAGE 6-3 



00(K46 
00MS2 




000000 

000000 

107 

000006 



012702 


00020A 


110277 
010367 


00000&G 
OOOOOOG 


ifftJoS 




010367 


OOOOOAG 


000207 





040 
105 
000 

000001 



30S: 



MOV 
.ENPC 



MOV 
ASR 
BCC 
MOV 
tyRITE 

2St: ASR 
BCC 
MOV 
MRITE 

PUTLI9: RETURN 



120 
04.0 



101 



LSTREQ: 
LSTDEV: 



PAGMNEi 
CRLF! 



.PSECT 

.BLKW 
.HKB 

.PSECT 
.ASCII 

.ASCIZ 

.END 



#LSTLEN.R2 ,♦♦015 ELSE. RESET OUTPUT LENGTH 

.•♦♦015 
.•♦♦015 



R2.BCNTTBL»LSTCHN ;SET COUNT 

R4 ;KB REQUESTED? 

25t ; NO 

R3.BUFTBL^CM0CMN ;^^015 SET OUTPUT BUfFER POINTER 

CMO .•♦♦OU SEND LINE TO COMMAND OUTPUT 

R4 .'LISTING REQUESTED? 

STL 19 ; NO 

.BUFTBL+LSTCHN .♦♦015 SET OUTPUT BUFFER POINTER 
LST ;LIST IT 



IMPURE. D.RW 

1 

2 

IMPTKT.D.RW 
' PAGE / 

11 



;^^017 

.•LIST REQUEST FLAGS 

.•ERROR(LH). LISTING (RM) 

;^^017 



•«•• 



TT 



tMt 



r 



LSTNG MACRO miOB 
SYMBOL TABLE 



AM.DCC> 
AM.MF> 
WI.IMM- 

m.im* 

M.NDX- 
M.PC > 
AM.NEL- 
ASTFLC- 
BIMCHN- 
ILKTOU 
BLKTW- 
BLKTOS- 
BLKTO<- 
BLKTOS> 
aLKT06- 



U-OEC-77 09:51 PAGE 6-« 




000006 

000020 

000053 

mt 

000072 
000054 



aUFTBL- 
CH.AOO- 
CH.AND- 
CH.BSL* 

CH.ca* 

CH.CQM- 
CH.DIV- 
CH.Oa* 
CN.DOT- 
CH.EQU- 
CH.HSH- 
CH.IND- 
CH.IOR* 
CH.LAB> 
CM. LP • 
CH.MUL- 
CM.PCT- 
CH.QM • 
CH.QTM> 
CH.PAB- 
CH.RP * 
CN.SMC- 

. ABS. 



PUMCI 

IMPLIN 

tMPUMf 

IMPTNT 000007 

FMORS Df TfrTFD: 




000 
001 
002 

m 

00* 
005 



CH.SUB> 

CH.UAR- 

CH.XCL" 

CLCFGS- 

CLCLOC* 

CMOCHN- 

CNTTBL- 

CPL • 

CPXAOO* 

CPXANO- 

CPXCOM* 

CPXCON* 

CPXDIV- 

CPXFLG" 

CPXCLB" 

CPXIOM- 

CPXMUL> 

CPXNCG* 

CPXOPC- 

CPXPEL- 

CPXSOS" 

CPXSTO- 

CPXSUB- 

CN 

CPLF 

CSTACC- 

CSTALO- 

CSTFL6" 

CSTGBL> 

CSTMIM- 

CSTPIf 

rSTTYP- 

CTTBL ■ 

CT.SPT" 

DfrriG* 

OfOflG' 
DIG.O • 



000047 
•••••• 

000000 

000120 
000001 

ooooos 

111 

120 

1200 
000016 



GX 

GX 

GX 




•••••• GX 



005 



DIG. 9 

DNC 

FF 

GLBFLG 

GSDTOO 

GSDT01 

GSDT02 

GSDT03 

GSDTM 

GSDr05 

GSDT06 

ILVL 

LBLFLG 

LET. A 

LET.B 

LET.C 

LET.D 

LET.E 

LET.F 

LET.G 

LET.O 

LET.; 

LF 

LINLEN- 

LINPPG 

LPP 

LPPCNT 

LSTCHN 

LSTDEV 

LSTLEN 

I STMEQ 

I ST. KB 

LST.LP 

MAXCHN- 

MDFFIG 

MODE 

MOVBVT 



000071 




000400 
001000 
11400 




000002 
000101 

"m 

000104 

000105 

000106 

000107 

000117 

000152 

000012 

000204 

000252PG 

000074 

000004 

000002PG 

000204 

OOOOOOKG 

000001 

000002 

000014 

000004 

••*•»* GX 

**•••* GX 



NUtSEC* 

OBJLEN* 

PAGE XT « 

PAGMNE 

PAGNU^ 

PASS > 

PFO 

PF1 

PSTFLG« 

PUTKB 

PUTKBL 

PUTLIN 

PUTLI1 

PUTLI2 

PUTLI9 

PUTLP 

REGFLG 

PELCHN 

PELFLG 

RLDLEN 

RLDTOO 

PLDT01 

NLDT02 

PLDTOS 

002 NLDT04 
PLDT05 
RLD106 
PLDT07 

004 RLDT10 
PLDI11 

004 RLDTn 
RLDTH 
RLDT17 
RSX11M> 
RItllM 
SAVRCG 
SETBVT 



VIRTUAL MIMORV USED: V79 MMDS ( M PAGES) 
pYMAMIC MIMORyi 15744 WORDS ( 60 PACES) 
ELAPSED TIME: 00i00!24 

lSTN0,t$O.SO]L5TNO/-$P-t3O.10JRSXPAR,MPARAM.MCIOCM.GENM(.FlGDF.lSTNG 



':S' 



mi 

•*•••• GX 

OOOOOORG 
•••••* GX 
••••*• GX 

OOOOOORG 

000004RG 

000050 

0001 72RG 

000202RG 

00021 6R6 

000250R 

000570R 

000516R 

00021 ORG 

000001 

000010 

000040 

000052 

000000 

000001 

000002 

000005 

000004 

000005 

000006 

)07 

HO 

111 
000015 
000016 
000017 
000000 
000000 
•••»»• GX 
000100RG 



002 
002 
002 
002 



SETBVX 

SETPFO 

SETPF1 

005 SETyOB 

SETWRD 

003 SMLLEN 
003 SPACE 

SRC CNN 
002 SRCLEN 
002 STLBUF 
002 STLLEN 
SUBFMC 
TAB 

TMPCNT 
TTLBRK 
TTLBUF 
TTLLEN 
VALUE 
VT 

XBSRCH 
XCREF 
XEDABS 
XEDCDR 
XEDCRF 
XtDFPT 
XEDLC 
XEDPIC 
XEDPNC 
XFLTG 
XOPEXP= 
XRGERR* 
XSUBD ^ 
X/|RR ' 
X45 • 
YOCMO ■ 
00? tyPITE* 



0001 34R 

OOOOOORG 

0000|4ftC 

0/0050RC 

00:)054RG 

000012 

000120 

000040 

000002 

000204 

***••* GX 

000100 

000001 

000011 

oooou 

•••••• GX 

•••••• GX 

000040 
•••••• GX 

000013 
000000 
000000 
000000 

oooooo 

000000 

oooooo 
oooooo 
oooooo 
oooooo 
oooooo 
oooooo 
oooooo 
oooooo 
oooooo 
oooooo 
oooooo 
•••••• ox 



002 
002 
002 
002 
002 



tt«* J f •••• 




***• K f •••• 



1 t^AMt^ 



.Mr-»» Att.ta BAAM t 



MACOP MACRO M1108 U-DEC-77 09:52 PAGE 3 



.TITLE 
.IDENT 



MACOP 
/01/ 



COPYRIGHT (C) 1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGC WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 0> 

C.A. D'ELIA 



n-OCT-76 



CHECK FOR MACRO NAMES WITH MATCH IN THE PERMANENT SYMBOL TABLE 



!? 



000000 



PURE 



36 000000 
57 00000.' 

38 000006 

39 00001 J 

5? 

^6 

50 



0050A6 

01?667 OOOOOOG 



t 



OHIO 

16746 OOOOOOG 
004767 OOOOOOG 
001^64 

150061 OOOOOOG 
000761 

000^07 



000001 



•MACOP: 


:CIR 


lOOSi 


MOV 




NEXT 




BFO 




MOV 




CALL 




BEQ 




BISB 




BR 


«'00»i 


7AP 



Rf TURN 



.tND 



PURE I, I 



-(SP) 
(SP)*,lLSPNT 

$LSPNT,-(SP) 

RO.IPSMAP(RI) 

106l 

MCLLST 



INIT LIST POINTER 

SET LIST POINTER 

GET NEXT NAME fROM MCALL LIST 

IF EQ NONF LFFT 

SAVE I 1ST POINTER 

DOES MACRO HAVE PST MATCH? 

IF FQ NO 

riAG PST SYMBOt WITH SAME NAME 

GFT NEXT NAME IN MCAU I 1ST 

EMPTY MCAU NAME LIS1 



• t«* 



rr 



*••• 



■Atr» MAtRn MnOR U-Dt[>r^ 09;5? PAGF !-1 



MACOP MACRO Ml 108 
SYMBOL TABLE 


U-OEC-77 09:52 


ILVL « 000001 
HCLLST« •«•♦•• GX 
NEXT « ♦•••*♦ GX 
NU»SEC« OOOOOA 
RSX11M- yoOOOO 
RU11M- OOOOOC 


SUBMAC* 000001 
XBSRCHs 000000 
XCREF ' 000000 
XEDABS* 000000 
XEDCDR> 000000 



PAGE 5-1 



XkDFPT* 000000 
XEDLC > 000000 
XEDPIC* 000000 
XEDPNC> 000000 
XFLTG ' 000000 



XOPEXP« 000000 
XRGERR^ 000000 
XSUBD ' 000000 



XZERR 
X4S 



000000 
000000 



ZAP = •»•«*♦ GX 
$LSPNT= «•«•«• GX 
SMACOP OOOOOORG 
SPSMAP= *♦♦♦•♦ GX 
$PSTCK= •♦**♦« GX 



002 



. ABS. 000000 000 

000000 001 

PURE I 000052 002 

ERRORS DETECTED: 

VIRTUAL MEMORY USED: 1981 WORDS ( 8 PAGES) 
DYNAMIC MEMORY: 157AA WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:12 

MACOP. C3O,30]MACOP/-SP-C50,103RSXPAR.GENMC. MACOP 
kQ r 



••*• n 9 t««* 



N i 




•*«* 



*««« 



HACROC MACRO MHOS U-DEC-7/ 09:52 PAGE 4 



000000 







.TITLE NACROC 
.lOENT /11.01/ 



COPYRIGHT (C) 1972, 1977 

DIGITAL EQUIPMENT CORPORATION. MAYNARD. MASS. 

THIS SOFTVARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE CHMPUTER SYSTEM ANO MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SO' TWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 11.01 
BOWIRING 

MODIFIED BYt 



D.N. 
C.A. 
C.A. 
C.A. 
C.A. 
D.N. 
C.A. 
C.A. 



CUTLER 
D^ELIA 
D'ELIA 
D*ELIA 
D'ELIA 
CUTLER 
D'ELIA 
D'ELIA 



•FEa-73 

TO-JAN-74 
05-MAR-74 
15-AU0-74 
20-OCT-75 
21-AU0-76 
05-8EP-76 
•FEB-77 



01 

01 

01 

021 

025 

026 



(VIRT MEMORY) 
(KEYWORD MACROS) 
(KEYWORD MACROS IN 8K) 



CD03S — FIX BUG IN .NARG (DUE TO KEYWORD SUPPORT) 



.IF NDF XMACRO 



LOCAL DATA 



.PSICT 

ARQBUFi .BLKB 
TMPOFFi .ilKW 
fMPTXTi JLKW 
NULCNTm.BLKW 



MIXED. D.RW 

1 



,♦♦025 



.'♦♦'J 



DEFAUlf ARGUMENT BUFFER 

TEMPORARY mrrn offsft 

TEMPORARY rtXT BLOCK POINTFR 
JKIEPS COUNT OF NULL MACRO CALL ARCS 



; C0035 



••«• I \Q •••# 



J 



NACROC MACRO Ml 108 U-DEC-77 09:52 PAGE «-1 



58 000106 

59 

60 

61 OOQOOO 

62 000006 000207 
63 

6A 
65 



PURE PURE 1,1 



69 
70 

71 000010 

72 OOOOU 

73 000020 
7A 000022 

75 000026 

76 000032 

77 000036 

78 000046 

79 000054 

80 000060 

81 000066 

S 000074 
000076 

84 000102 

85 000106 

86 0g0i12 

87 000116 

88 000120 



OPCERR: ERROR 
RETURN 



♦♦017 
**-MACR0C -MACRO CALL 



016701 OOOOOOG 
001767 

010167 OOOOOOG 

004767 OOOOOOG 

004767 OOOOOOG 



-017 
MACROC: 



012767 
004767 
016167 
116167 
001432 
116103 
012705 
012704 
004767 
110024 

010514 
114404 
005304 
002404 
004767 
11002S 
000772 




000006 000100* 
000232 

000004 OOOOOOG 

000003 OOOOOOG 

000003 

000000' 

OOOOOOG 101: 

000140 20S: 

000006G 



000114 



000104' 



sot: 

40t: 
501: 



OOOOOOG 




OOOOOOG 



:SETPFO 
MOV 
BEQ 
MOV 
CALL 
CALL 
ZAP 
MOV 
CALL 
MOV 
MOVB 
BEQ 
MOVB 
MOV 
MOV 
CALL 
MOVB 
CMP 
BLO 
MOV 
MOVB 
DEC 
BLT 
CA'L 
MOVB 
BR 

APPEND 
DEC 
BGT 

SCTCHR 
CLR 
CALL 
SUB 
MOV 
MOV 
CALL 
MOV 
CALL 
MOV 
MOV 
MOV 
MOV 
MOV 
MOV 



M0DE.R1 

OPCERR 

RI.MACTXT 

ICVRL 

INCMAC 

DMALST 

#6.TMP0FF 

90i 

4(R1),MACGSB 

3(R1).ARGMAX 

50t 

3(R1).R3 

#AR6BUF,RS 

«SYMB0L,R4 

601 

R0.(R4)^ 

R4.«SVMB0L^6 

20i 

R5,(R4) 

-(R4).R4 

R4 

601 

R0.(R5)^ 

30i 

DMALST 

R3 

101 

NULCNT 

PROMC 

NULCNT. ARGCNT 

R1.R3 

#Mt.M^C,R5 

MPUSH 

MACTXT.R1 

Ri;(R2)» 

RSt(R|>^ 

AR6CNr,(R2) 

(R|)^,Ir2)^ 

TMPgFF,(R2)» 

TMPTXT.(rJ) 



.•♦♦017 



.•♦♦017 DECLARE OPCODE ERROR 
.•♦♦017 



.•MARK LOCATION 

.•♦♦021 GET VIRT LOCN OF BASIC TEXT BLK 

;^^013 IF NULL. NO DEFN — ERROR 

••♦♦021 ELSE. SAVE ITS VIRTUAL LOCN 

.•♦♦021 GET REAL ADDR OF BLOCK IN RO 

.•INCREMENT REFERENCE 

,•♦♦025 EMPTy DUMMY ARGUMENT ROLL 

,•♦♦025 SET OFFSET TO START OF TEXT 

••♦♦025 SET TO READ FROM VIRTUAL MEMORY 

,•♦♦025 SET GENERATED SYMBOL BITS 

;^^025 SET MAXIMUM NUMBER OF ARGUMENTS 

,•♦♦025 IF EQ NO ARGUMENTS 

,•♦♦025 SET LOOP COUNT 

;^^025 SET POINTER TO DEFAULT ARGUMENT BUF^ER 

.•♦♦025 SET POINTER TO SYMBOL ACCUMULATOR 

.•♦♦025 READ NEXT CHARACTER FROM VIRTUAL MEMORY 

••♦♦025 STORE CHARACTER IN SYMBOL ACCUMULATOR 

;^^025 END OF DUMMY ARGUMENT SYMBOL? 

.•♦♦025 IF LO NO 

.•♦♦025 SET ADDRESS OF DEFAULT ARGUMENT 

.'♦♦025 GET LENGTH OF DEFAULT ARGUMENT 

{♦♦025 ANY MORE BYTES IN DEFAULT ARGUMENT? 

;**q2\ IF LT NO 

,•♦♦025 RFAD NEXT CH'^ACTER FROM VIRTUAL MEMORY 

,•♦♦025 STORE CHARACTFR IN DEFAULT BUFFER 



i-ji; 



APPEND DUMMY ARGUMENT TO ROLL 
,•♦♦025 ANY MORE ARGUMENTS TO PROCESS? 
,•♦♦025 IF GT YES 
.•♦♦025 RESTORE R5 
.•CLFAR NULi ARGUMENT COUNT 
.PROCESS CALL ARGUMENTS 
;CALC # OF (WN-N^JLL MACRO CALL ' .ENTS 
.•♦♦021 COPY VIRTUAL LOCN OF * -lOCK 

.'PUSH NESTING LEVEL 
.•♦♦021 GET ViRr LOCN OF BASIC TXT BLK 
,•♦♦021 UNLOCK PAGE (lOCKfD BY 'INCMAC') 
,•♦♦021 STORE VIRT LOCN Of BASIC TEXT BLK 
.•♦♦U21 AND VIRT LOCN OF ARG BLOCK 
;FILL IN ARGUMENT COUNT 
REPLECATE 
"" OFFSET TO START OF MACRO BODY 
VIRTUAL BLOCK OF MACRO BODY 



CD035 
C0035 



;r ILL IN ^f 
: AND REPL 



*••• c 10 •••• 



MACROC MACRO Ml 108 U-DEC-77 09:52 PAGE 4-2 



115 OQOi 

116 ooo; 

117 



i!2 




125 000270 

126 000274 

127 000300 

128 000302 

129 OOOKK 

130 000312 

131 000316 

132 000322 

133 000324 

134 000326 

135 000332 



000207 



022767 
001003 
011101 
004767 
005267 
112200 
000207 
012767 
010167 
004767 
010001 
010002 
066702 
000207 



000001 



SETCHR 
RETURN 



READ CHARACTER FROM VIRTUAL MEMORY 



000020 000100' 60$: 



000010 
000100" 



70$: 



000002 000100' 80$: 
000102' 90$: 
OOOOOOG 



000100' 



CMP 

BNE 

MOV 

CALL 

INC 

MOVB 

RETURN 

MOV 

MOV 

CALL 

MOV 

MOV 

ADD 

RETURN 



.ENDC 
.END 



«BPMBJMPOFF 

70$ 

(RD.RI 

80$ 

TMPOFF 

(R2)t.R0 

#2. TMPOFF 

R1.TMPTXT 

$CVRL 

RO.RI 

R0,R2 

TMPOFF. R2 



♦ ♦025 
♦♦025 

♦ ♦025 

♦ ♦025 
♦♦025 

♦ ♦025 
♦♦025 

♦ ♦025 

♦ ♦025 

♦ ♦025 

♦ ♦025 
♦♦025 

♦ ♦025 

♦ ♦025 



END OF CURRENT TEXT BLOCK? 

IF NE NO 

GET VIRTUAL ADDRESS OF NEXT BLOCK 

SET TO READ NEXT TEXT BLOCK 

INCREMENT OFFSET IN BUFFER 

GET NEXT CHARACTER FROM BUFFER 

RtSET OFFSET TO START OF TEXT 
SET VIRTUAL ADDRESS OF TEXT BLOCK 
CONVERT TO REAL MEMORY ADDRESS 
COPY REAL ADDRESS OF TEXT BLOCK 
CALCULATE ADDRESS OF TEXT IN BLOCK 



•••* 10 **** 



f ^ 



HACROC HACR0M1108 U-OEC-77 09:52 PAGE 4-3 
SYMBOL TABLE 



APPENO« 
ARGBUF 
ARGCNT« 
ARGMAX- 



****** GX 

OOOOOOR 
****** GX 
****** (^x 



CPL « 
DMALST* 
ERRBTS< 
ERN.O > 
ILVL « 
INCMAC- 
LINLEN> 



GX 
GX 



****** 
****** 
****** GX 

000001 

****** 

000204 



GX 



. ABS. 000000 
000000 
MIXED 000106 
PURE I 0OO55A 
ERRORS DETECTED: 



LPP « 
002 LSTLEN« 
MACGSB< 
MACROC 
NACTXT* 
MODE > 
NPUSH « 
MT.MAC« 
NULCNT 
NUtSEC' 
OBJLEN* 
OPCERR 

000 
001 
002 
003 



00007A PROHC = *♦♦••• GX 
00020A RLDLEN' 000052 
****** GX RSX11«« 

000010RG 003 RtlllM* 
****** GX SETCHR* •••••* 
****** GX SETPF0« 
♦••••* GX SMLLEN" 
♦••«•• GX SRCLEN« 

0001 Q4RG 002 STLLEN* 
000004 SUBMAC' 
000052 SYMBOL* ••*•*♦ GX 

GOOOOOR 003 



000000 
000000 



000100 
000001 



GX 
GX 



THPOFF 

TMPTXT 

TTLLFN« 

XeSRCH- 

XCREF = 

XEDABSs 

XEDCDRs 

XEDCRF* 

XEDFPT« 

XEDLC ' 

XEDPIC' 



0001 OOR 

0001 02R 

OOOOAO 

000000 

000000 

OOOOOO 

50000$ 
OOOOOO 
OOOOOO 
OOOOOO 



002 XEDPNC« 
002 XFLTG s 
XOPEXPs 
XRGERR' 
XSUBD ' 
X7ERR - 
X45 e 
VQCnO » 
ZAP = 
SCVRL = 
SUNLP6» 



OOOOOO 
OOOOOO 
OOOOOO 
OOOOOO 
OOOOOO 
OOOOOO 

Qogooo 

OOOOOO 
****** GX 
****** GX 
****** GX 



VIRTUAL MEMORY USED: 2320 WORDS ( 10 PAGES) 
DYNAMIC MEMORY: 1574A WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:19 

MACROC.C30,30]MACROC/-SP«[30,10]RSXPA»!.MPARAM,GENMC,MACROC 
kQ r 



•••* I to ***« 



r: 



N \ 



•*•• t to **** 



I MArkM\ MAran Mima 11..Mr.Ty AOtO SAfit I 



HACWX) KIACROH1108 U-OEC-77 09:52 PAGE 3 



« 



000000 



0013)4 



.TITLE 
.IDENT 



MACROD 



COPYRIGHT (C) 1972,1976 

DIGITAL EQUIPMENT CORPORATION. NAVNARD, MASS. 

THIS SOf TVARE IS FURNISHED UNDER A LICENSE FOR USE ONLV ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION or THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 11 
B. B0WERIN6 



MODIFIED BY: 



D.N. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
D.N. 
C.A. 
C.A. 



CUTL 
D'EL 
D'EL 
D'EL 
D'EL 
D'EL 
CUTL 
D'EL 
D'EL 



6-FE8-73 

10-JAN-7* 
05-MAR-74. 
24-APR-74 
15-AUG-74. 
20-OCT-75 
21 -AUG- 76 
05-SEP-76 
13-OCT-76 



010 

016 
017 
021 
02) 
026 
029 



(VIRT MEMORY) 
(KEYWORD MACROS) 
(KEYWORD MACROS IN SK) 
(IMPR PERFORMANCE) 



.IF NDF XMACRO 



PURE PUREI.I 



l**0\7 



;♦ 



**-MACR-MACRO DEFINITION 
••-MACROF-ALrrRNATF ENTRY FROM .MCALL 



MACRi: GSARG 

BEQ OPCERR 



;C!T THE MACRO NAME 
; ERROR IF NULL 



•••• I io *••* 



MArkrw\ mAt»n MlinA 1i..Mr.yy AOit) KAfif t>1 



*»ACW» HACRO mi08 U-OEC-77 09:52 PAGE 5-1 



60 000020 

61 000026 

62 000052 
65 000056 

64 000040 

65 000044 

66 000050 

67 000054 
68 

69 000060 

70 000064 

71 000070 
7i 000070 

74 

75 



» 



000074 
000076 

78 000102 

79 



000106 

85 00011? 

86 000116 

87 000126 

89 000154 
)140 



016767 
016767 

016701 
001402 
004767 
004767 
010167 
010067 



OOOOOOG OOOOOOG 
000002G 000002G 

OOOOOOG 



NACROF 



OOOOOOG 
OOOOOOG 
OOOOOOG 
OOOOOOG 



It: 



010167 OOOOOOG 



004767 OOOOOOG 



:TSTARG 
NOV 
WV 
NSRCH 
NOV 
BEO 
CALL 
CALL 
NOV 
NOV 

NOV 
INSERT 
CRFDEF 
CALL 



SVNB0L*?.NACNAN«2 

; SEARCH THE TABLE 

;»»021 GET VIRT LOCN OF BASIC TEXT BlOCK 

: BRANCH IF NULL 

;DECRENENT THE REFERENCE 

;CET A STORAGE BLOCK 

••♦♦021 STORE VIRTUAL LOCN OF THE BLOCK 

.♦♦021 SAVE REAL AODR OF BASIC TEXT ... 

;^^021 BLOCK AS BLOCK BEiNG WRITTEN 

;^^021 AND SAVE ITS VIRTUAL LOCN 

.'INSERT IN TABLE 



N0DE.R1 

It 

DECMAC 

GETBLK 

R1.N0DE 

RO.NACyRT 

R1 .NACWTV 



PROMA 



; PROCESS Dumv ARCS 



105022 
116722 
016722 



005067 

001414 
012705 
012704 
004767 

767 
757 




OOOOOOG 
OOOOOOG 



OOOOOOG 
OOOOOOG 



OOOOOOG 

000006 
000156 

OOOOOOG 

0U0144 



STORE INFORNATION INTO THE NACRO BASIC TEXT BLOCK 

CLR8 (R2)^ .♦♦015 CLEAR LEVEL COUNT 

JgVB ARGCNT.(R2)^ .•♦♦015 SET Nll«ER OF ARGUMENTS 

NOV NACGSB.(R2>^ ; AND GENERATfD SVNBOL BITS 

WRITE DlfWY ARGUMENTS AND DEFAULT ARGUMENTS INTO VIRTUAL NENORY 



lot: 




20ti 



OOOOOOG 



OOOOOOG 
000002C 000002C 



OQOOOOC OOOOOOG 2)ti 
JO 0000026 

Sti 



mi 



ml 

0000000 



sue 

CLR 

NEXT 

BfO 

NOV 

NOV 

CALL 

NOV 

N0V6 

CALL 

BR 

SETCHR 

ADD 

BIS 

CALL 

CALL 

GETSVN 

BfQ 

CNP 

CNP 
BCQ 

ERROR 

s; 

CALL 

^^ 

sircHR 

fST 



NACWRT.R2 
tLSPNT 
DMALST 
20t 

tSYNBOL.RS 
#6.R4 
40i 

(R5),R5 
;T0R.R4 



NACWRT.R2 

fLC.ND.LCFLAG 

ENDLIN 

PRONT 



convert to offset in block 

Clear list pointer 

get next entry in dunny argument roll 

if eo end of roll 

get address of dunny argument name 

set nufver of characters to write 

write dummy argument into nacro tree 

get address of default argument string 

get length of string in bytes 

write default argument into l>mcro tree 

RESTOFtE RS 

CONVERT BACK TO REAL ADDRESS 



.POllbM OFF LINE 
.PROCESS THE TfKT 

.♦♦029 IF Ea NAME NOT SEEN 




25t 

RO.MACNAM 

SYNB0l^?.MACNAM^2 

A 

NACNAM. SYMBOL ^♦♦0?9 COPr fWfRO NAME TO SrNBOl AREA 

NACNAM^2.SYNB0l ♦? i^^020 

•Mt.MAC.M .'♦♦621 fUT '.MACRO' TfRNINATOR CHAR IN R5 

WCINT .SET F'4D NARKfR 

NACWTV.»1 .•♦♦0?l GET vIRT lOCN OF THIS "nt OCK 

tUNlPQ .'fOjl UNLOCK PACE (ONTAINING II 



SMLLVL 



;**029 PROCESSING NCALL? 



•••• N 10 •••• 



■AfinB MAfo Mnoa u-ptf-yy 09:5; pacf \-? 



HACWO MACRO mi08 U-OEC-77 09:52 


;US88iSi 


001017 




117 000116 


000167 


OOOOOOG 


116 






119 






120 






121 






122 






123 000322 


005504 




124 000S2A 


002407 




125 000526 


112505 




126 000330 


004767 


OOOOOOC 


127 000334 


000772 




128 






129 






10 000336 






151 0OO544 
135 


000207 










000001 





BNE RTN 
APPEND nCLLST 
JMP tCKMAC 



WRITE STRINC INTO MACRO TREE 



40t: 



DEC 
BLT 

nova 

CALL 
BR 



R4 

RTN 

(R3)*.RS 

WCIMT 

40S 



OPCERR: ERROR 
RTN: RETURN 



.ENDC 
.END 



029 IF NE VES 

••029 PUT IN MCALL LIST 

tt0?9 CHECK FOR PST NAME MATCH 



.•♦♦025 ANY MORE CHARACTERS TO VRITE? 

.•♦t029 IF LT NO 

.•♦♦025 GET NEXT CHARACTER 

.•♦♦025 WRITE CHARACTER IN MACRO TREE 

.♦♦025 



.•♦♦017 DECLARE OPCODE ERROR 
.•♦♦029 



••«• 



TW 



«••• 



•Ufknfk MArMA IttirvA lA.Mr.VT AOitl BAAf fat 



MACROO HACRO Nn08 
SYMBOL TABLE 



U-OEC-77 09:52 PAGE 3-5 



APPEND' 
ARGCNT* 
DECMAC- 
DMALST> 
EMDLIN* 
ERR6TS> 
ERR. A > 
ERR.O > 
GETBLK- 
GETSyiM 
GSARG ■ 
ILVL ■ 

. ABS. 



000001 



GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 



INSERTx 
LCFLAG- 
LC.HO « 
MACGSB> 

MACNAM* 
MACR 



•*••** GX 
*••••* GX 
••••*• GX 
••***• GX 
**•**• 6X 
OOOOOORG 



NACROF 00d006RG 
IWCWRT* ••••*• GX 
NACWTV« •*•*•• GX 
«CLLST« **••♦• GX 
fflOOE « »••••• GX 
MSRCH • »••••• GX 



MT.MAC> 
NEXT « 
NUtSEC' 
OPCERR 
PROMA > 
002 PROMT « 
002 RSX11M> 
RTN 

Rtinn* 

SECTOR* 

SETCHR« 



•••*•* GX 

000004 
000356R 

****** GX 

lOO 

lAAR 

1000 

****** GX 

****** GX 



SMLLVL> 
SUBMAC* 
SYMBOL* 

002 TSTARG* 
WCIMT 8 
XBSRCHc 
XCREF « 

002 XEDABS- 
XEDCDR' 
X£OFPT« 
XEDLC « 



****** 

000001 
****** 

****** 
****** 
000000 



GX 

GX 
GX 
GX 



000000 



XEDPIC* 000000 

XEOPNC 000000 

XFLT6 « 000000 

XOPEXP« 000000 

XRGERR* 000000 

XSUBD « OOOOOQ 

x/ERR = mow 

H5 < 000000 

ICMIAC« ••••** GX 

ILSPNT« ****** GX 

iUNLPG" •••••* GX 



000000 
000000 
PURE 1 000346 
ERRORS DETECTED: 



000 
001 
002 



VIRTUAL MEMORY USED: 2155 yORDS ( 9 PAGES) 
DYNAMIC MEMORY: 157AA WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00: U 

MACROO.C30,30]MACROD/-SP>[30.10JRSXPAR,GENMC.MACROD 
kQit 



•••• J 10 •**• 



n k 



1 




t*** K 10 •**• 



MAi-ttn uttMl 1i..litr.f9 nOita BAAB t 



1 



MACRS MACRO NllOB U-OEC-77 09:52 PAGE 5 



.TITLE 
.IDENT 



NACRS 
/11.02/ 



COPYRIGHT (C) 1972. 1977 

DIGITAL EQUIPMENT CORPORATION, MAVNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 11.02 
B. BOWERING 



MODIFIED IFl 



D.N. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
H.A. 
C.A. 
C.A. 
C.A. 
C.A. 
D.N. 
C.A. 
C.A. 



CUTLE 
D^EL 
D'EL 
D'EL 
D'El 
D'EL 
D'EL 
NICHOI 
D'EL" 
D'EL 
D'EL 
D'EL 
CUTLE 
D^EL' 
D'EL. 
CD0S5 



■FEB-7S 
15-NOV-73 
10-JAN-7A 
25-JAN-7* 
05-MAR-74 
07-APR-7* 
24-APR-74 
18-JUN-7* 
15-AUC-7* 
19-MAR-75 
]0-OCT-7$ 
M-NOV-75 
'1 -AUG- 76 
)5-SEP-76 
»-FEB-77 
FIX BUG 



008 

I" 

1 

Si 7 
)19 
M 



(VIRT MEMORY) 
(LC MACRO CALL ARGS) 
(KEYWORD MACROS) 
(KEYWORD MACROS IN 8K) 



C.A. D'ELIA 

CD042 



: EQUATED SYMBOLS 
i 

•IF NDF NMACRO 



IN .NARii (DUE TO KEYWORD SUPPORD 

06-AUG-77 
• FIX BUG IN KEYWORD EXPANSION OF BRACKETED ARGUMENTS. 



•••* 



TW 



J 



*•*• 



MArfet iur»n Milan U-ttrr>77 MiM PAGE 1>1 



MACRS MACRO MHOB U-OEC-77 09:52 PAGE 5-1 



177603 
177603 



61 

(A 

65 000000 

66 

67 000000 

68 

69 000100 

70 

71 



2 OOOQOO 
13 000000 
000010 

85 OOOOU 

86 000020 

87 000024 



84 



005067 
005067 
012746 

OQU55 
022705 
0Q1004 
051667 

004767 
001441 

1031 
16767 
022705 
001016 

Qri767 
016767 
004767 
116767 
041667 



41 



» 



OOOOOOG 
OOOOOOG 
100000 



000077 

OOOOOOG 

OOOOOOG 



m.MAC«=1 77603 
MT.MAX»«1 77603 






• LOCAL DATA 
i 






.PSECT 


MIXED, D,RW 


;*t025 


GENBUF: .BLKB 


64. 


.•♦t025 GENERATED ARGUMENT BUFFER 


PURE 


PURE 1. 1 


,•♦♦017 


; COMMON ROUTINES USED BY ALL 


MACRO PROCESSING 


; _ „ 







**-PR0MA-PR0CESS MACRO DEFINITION ARGUMENTS 



PROMA: 



Iti 



21 1 



OOOOOOG OOOOOOG 
00007S 



OOOOOOG 

OOOOOOG OOOOOOG 
QddOOOG 

OOOOOOG OOOOOOG 
OOOOOOG 



OOOOOOG 



lOtt 



!■ 



ZAP 

CLR 

CLR 

MOV 

TSTARG 

BEQ 

CMP 

BNE 

BIS 

GETNB 

CALL 

BEO 

SEARCH 

BNE 

MOV 

CMP 

BNE 

GETNB 

CALL 

MOV 

CALL 

MOVB 

BIC 

INSERT 

CLC 

ROR 

BR 

ERROR 



«i 



RETURN 



DMALST 
ARGCNT 
MACGSB 
#100000. -(SP) 

ss 

«CH.QM.R5 
2t 

(SP) .MACGSB 

GSARGF 

201 

DMALST 

15$ 

ARGCNT. MODE 

#CH.EQU.R1 

101 

GMARGF 

CHRPNT. VALUE 
RMARG 

tARGSZ.SECTOR 
(SP). MACGSB 



(SP) 



ii 



A 

ARGCNT 

(SP)t 



♦ ♦010 

♦♦021 EMPTY DUMMY ARGUMENT LIST 
GET A FRESH START WITH ARGUMENTS 
CLEAR GENERATED BIT PATTERN 
STACK HRST GENERATED SYMBOL BIT 
ANY MORE ARGS? 

NO. QUIT AND GO HOME 
YES, GENERATED TYPE? 

NO 
YES, SET PROPER BIT 
BYPASS IT 

GET SYMBOLIC ARGUMENT 
♦♦025 IF EQ NO LEGAL DUMMY ARG 
♦♦oil FIND LIST SLOT FOR DUMMY ARGUMENT 
5 IF NE DUPICATE DUMMY ARG FOUND 

STORE ARGUMENT NUMBER 

TERMINATOR EQUAL SIGN? 

IF NE NO 

BYPASS EQUAL SIGN 

GET MACRO ARGUMENT 

SET ADDRESS OF DEFAULT ARGUMENT 

REMOVE MACRO ARGUMENT 
SET DEFAULT ARGUMENT STRING SIZE 
♦♦025 CLEAR POSSIBLE GENERATION flAG 

♦ ♦025 



1 



♦♦Oi 

♦ ♦Ot 

♦ ♦02S 

♦ ♦0?' 

♦ ♦Q.'"' 

♦ ♦0,"S 



\^ 



INSERT ENTRY IN DUMMY ARGUMENT ROLL 



SHIFT GENERATED SYM BIT 

♦♦025 DUPLICATE DUMMY ARG fOUND 
♦♦025 OECR TO ACCOUNT FOR IllEGAl 
PRUNE STACK 



ARG 



*••• 



TW 



•**• 



MAflft MACnn MIIOR u-ntc-f7 09:5? PAGE 5-1 



MACRS MACRO M1108 U-DEC-77 09:52 PAGE 5-2 



115 
116 
117 

111 

120 
121 

122 000170 

123 000170 

124 000172 

125 000176 

126 000202 
1^7 00020A 

128 000210 

129 0Q02U 

130 000216 

131 000220 
000224 
000226 
000230 
000234 

.- 000242 

137 000244 

138 000250 

139 000252 

140 000256 

141 000260 

142 000264 

143 000270 

144 000300 

145 OOQ304 

146 000306 

147 000310 

148 000312 

150 000320 

151 000324 

)3 



132 
133 

134 
135 
136 



005103 
005067 
004767 
010146 
010067 
010167 
160002 
010446 
012704 
010346 
00*126 
005067 
126767 
101527 

001007 
005767 
001521 
005267 
()05267 

022705 
001564 
005716 
001462 

001443 
022705 
001052 

001445 

116705 

"55003 

)?61 



**-PR0MC/PR0MCF-PR0CESS MACRO CALL ARGUMENTS 



OOOOOOG 
001300 

OOOOOOG 
OOOOOOG 



000000* 



PROMC : : 
PROMCF: 



OOOOOOG 

OOOOOOG OOOOOOG It: 



OOOOOOG 



OOOOOOG 
OOOOOOG 

000134 



000075 



OOOOOOG 



9Si 



2Si 




90S I 



0000000 
520 

0000 
OOOOOOG OOOOOOG 



000426 



000705 



931 1 



COM 

CLR 

CALL 

MOV 

MOV 

MOV 

SUB 

MOV 

MOV 

MOV 

BGT 

CLR 

CMPB 

BLOS 

TSTARG 

BNE 

TST 

BEO 

INC 

INC 

NENT 

CMP 

BEQ 

TST 

BEQ 

GETSYM 

BEQ 

CMP 

BNE 

SEARCH 

BEQ 

MOVB 

an 

SEC 

ROR 

DEC 

BGT 

BIG 

CETNB 

CALL 

DEC 

5sy^ 

BNE 

61 ra 

BEQ 

GErNB 

•R 



R3 

ARGCNT 

GETBLK 

RI.-(SP) 

RO.MACyRT 

RI.MACWTV 

R0,R2 

R4.-(SP) 

«GENBUF,R4 

R3,-(SP) 

71 

ILSPNT 

ARGMAX, ARGCNT 

1201 

9S 

MACGSe 

120t 

ARGCNT 

NULCNT 

DMALST 

fCM.BSL.R5 

20r 

(SP) 

110S 

951 

#CH.fQU,R5 

toot 

DMALST 
100S 
M0DE.R5 
R5 

'i 



R 

9QS 

R5.I 



MACGSB 



UPDMAR 
ARGCNT 
RSDMAR 
ARGCNT 
II 

«cr.coM,crfai( 
It 



,•♦♦026 

,•♦♦025 SET NEGATIVE VALUE TO SIGNIFY MACRO 

,•♦♦017 CLEAR MACRO CALL ARGUMENT COUNT 

••♦♦021 SAVE VIRT LOCN OF FIRST ARG BLK 

.•♦♦021 FOR BLK BEING WRITTEN. SAVE ... 

;^^021 BOTH VIRT LOCN AND REAL ADDR 

.•♦♦010 CONVERT R2 FROM ADDR TO OFFSET 

.•♦♦025 SAVE REGISTER R4 

.•♦♦025 GET ADDRESS OF GENERATION BUFFER 

;^^025 SAVE REGISTER R3 

;^^025 IF GT IRPC 

.•♦♦025 CLEAR LIST POINTER 

.•♦♦013 MAX ARCS FOR THIS MACRO? 

.•♦♦025 IF LOS rES 

;BYPASS ANY COMMA 

.•Ok IF NON-NULL 

;NULL, ANY GENERATED STUFF I EFT? 

.•♦♦025 IF EQ NO 

.•♦♦025 INCREMENT ARGUMENT COUNT 

.•INCREMENT COUNT OF NULL ARCS IN CALL 

;^^025 GET NEXT ENTRV IN DUMMY ARGUMENT ROLL 

.•♦♦025 BACKSLASH? 

; YES 

.♦♦025 IRP? 

.♦♦025 IF EQ YES 

.•♦♦0?5 GET SYMBOL 

;IF EQ NONE (IE. NO KEYWORD) 

.'♦♦025 TERMINATOR EQUAL SIGN? 

.•♦♦025 IF NE NO 

.•♦♦025 SEARCH DUMMY ARGUMENT ROLl 
"■ IF EQ ENTRY NOT FOUND 
GET ARGUMENT NUMBER 
CLEAR ARGUMENT BIT 
SET CARRY FOR MASK FORMATION 

,•♦♦025 SHIFT MASK 

.'♦♦025 ANY MORE SHIFTS TO PERFORM? 



; CD035 



;..-1 

.•••-7 
; CD042 



.•♦♦02" 
,'♦♦02 



.•♦♦025 IF GT YES 

.•♦♦025 CLEAR GENERATED SYMBOL BIT 
,♦♦025 BYPASS FQUAl SIGN 
,•♦♦025 UPDATF DUMMY ARGliMENT ROLl TNTRY 
.•♦♦025 BACK UP ARGUMENT COUNT 
,•♦♦025 RESET DUMMY ARGUMENT TO PROPFR FNTRY 
,•♦♦025 ANY POSITIONAL AR&UMfNTS? 
••♦♦025 If Nf NOT TIPS? AROUMfNT 
R5) :**0i^ NEXT CHARACTtH ^ COMMA? 
.•♦♦025 If EQ NO 
.•♦♦025 BYPASS COMMA 
••♦♦025 
iHV LABEL 



,•••-1 



; CD042 



••*• H 10 •••• 



HACRS MACRO mi 08 U-DEC V 09:52 PAGE 5-3 



1^2 
175 

17A 

175 

176 000/i26 

177 OOOASO 

178 000*32 

179 0004AO 

180 0004A2 

181 0004A6 
"' 000450 



000452 

188 000456 

189 000462 

190 000466 



.IF NDF XEDLSB 



SS 



14 



005705 
001404 
132765 
001404 
005767 
100523 
000406 



004767 
004767 
006367 
000660 
005267 

005005 
004767 
000765 
005067 



J5105 

\rt7 

)5105 
)5 



OOOOOOC OOOOOOG 
OOOOOOG 98$: 



000400 
000424 
OOOOOOG 

OOOOOOG 

000654 

000654 
OOOOOOG 



000606 
000602 

000566 



lOOSi 
IIOSs 

5S: 

6t: 

71 1 



mi 



1401: 



1501) 



160S: 
101) 



OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 



lai 

201 i 



TST 

BEQ 

BITB 

BEQ 

TST 

BMI 

BR 

.ENDC 



SETSYrt 

CALL 

CALL 

ASL 

BR 

INC 

GETCHR 

CALL 

BEQ 

CLR 

CALL 

BR 

CLR 

NEXT 

BEQ 

MOVB 

MOV 

DEC 

BLT 

MOVB 

CALL 

BR 

CLR 

CALL 

BR 

SETCHR 

COM 

CALL 

COM 

MOV 

CALL 

MOV 

NOV 

MOV 

BIT 

MOV 
BNC 

SIS 

RETURN 
GEINi 



R5 ;1S TERMINATOR EOL (IE. ARGLWENT NULL)? 

98« ;IF EQ rES 

fCT.C0M!CT.SMC,CTTBL(R5) ;IS COMMA/SEMI COLON THE TERMINATOR? 

l??h« -V " ^ <lf' 'MSiGUMENT NOT NULL) 

MACGS8 ; SHOULD WE GENERATE A LOCAL SYMBOL? 

301 ;IF MI YES 

51 .-ELSE. DO NOT ALTER ARGUMENT LIST ENTRY 



RSDMAR 

UPDMAR 

MACGSB 

II 

ARGCNT 

%'" 

R5 

yCIMT 

6S 

tLSPNT 
DMALST 
1601 

SECT0R,R3 
VALUE. R4 

150S 

(R4)«,R5 

WCIMTt 

1401 

RS 

W 

R5 

S"" 

NACWTV.R1 

lUNLPG 

(SP)».RS 

(SP)t.R4 

(SP)SRI 

fLC.MC.LCMASK 

,ENO.LCENOL 



\W 



.•♦♦025 RESET CHARACTER POINTER 
.•♦♦025 RESET DUMMY AKGUMENT ROLL 
.•♦♦025 UPDATE DUMMY ARGUMENT ROLL ENTRY 
.•MOVE GENERATION BIT OVER ONE 



.•♦♦022 PUT (LOWER CASE) CHAR IN TXT BLK 



CD042 
CD042 
CD042 
Cf>042 
CD042 
CD042 
CD042 
CD042 
CD042 
CD042 
CD042 
CD042 
CD042 
CD042 
CD042 



.•••-1 



iLC.MC.LCFLAG 



.•♦♦OJ 

•♦♦OJ 

••♦♦01 

;♦♦( 

;♦♦( 

{♦♦( 

•'♦♦91 

i**Oi 

;♦♦( 

{♦♦( 

i**t 

;♦♦ 

;♦♦ 



.♦♦021 
; MACRO 

;^^8l 
.•♦♦01! 



Clear list pointer 

get next entry in dummy argument roll 

IF EQ END OF LIST 

GET LENGTH OF ARGUMENT 

GET ADDRESS OF ARGUMENT 

ANY MORE CHARACTERS IN ARGUMENT? 

IF LT NO 

GET NEXT ARGUMENT CHARACTER 

WRITE CHARACTER IN MACRO TREE 

SET ZERO CHARACTER 

WRITE CHARACTER IN MACRO TREE 

RESTORE RS 



GET VIRT LOCN OF CURRENT TEXT BLK 
UNLOCK ITS PAGE 
RESTORE R3 AND R4 

RESTORt VIRT LOCN OF ISr ARG BLK 
CALL SUPPRESSION? 

ASSUME LABEL ON MACRO CALL I INI 
SKIP IF ASSUMPTION IS (ORRECT 
INDICATE LINE IS A MACRO CALL 



BYPASS 



••*• I t1 •••• 



MACRS MACRO Ml 108 U-DEC-77 09:52 PAGE 5-« 



229 000662 

230 000666 

231 000672 

232 00067A 

233 000676 

234 000702 

235 000706 

236 000712 

237 0007U 
238 

239 

240 000716 

2A1 000722 

242 000726 

243 000730 

244 000734 

245 000736 

246 000742 

247 000746 

248 000752 

249 000754 

250 000760 

251 000764 

252 000770 

253 000774 

254 001000 
155 001002 

»8 001004 
?59 001010 
^60 001014 
|61 001016 
?62 001022 
^63 001026 
,: 001050 
^65 001032 
^66 001036 
?6^ 001040 
?68 001042 
W 001044 
?70 001050 

?72 001056 
175 001060 



005067 0000006 

010546 

010001 

004767 000160 

016705 OOOOOOG 

004767 000072 

012605 

000664 



116701 
005201 
020127 
005402 
162701 
110167 
062701 
010546 
012705 
004767 
112724 
105267 

012605 
000651 



010467 
004767 
010400 
166700 
110067 
000445 
005000 

010146 

004767 
012605 
042705 
110524 
000207 



OOOOOOG 

000100 

000100 

OOOOOOG 

000077 

000012 
000020 
000044 
OOOOOOG 



OOOOOOG 
OOOOU 

OOOOOOG 
OOOOOOG 



177760 
000060 




50S: 



52t: 



55$: 



40S^ 



411: 



ABSEXP 

CLR 

MOV 

MOV 

CALL 

MOV 

CALL 

MOV 

BR 

.IF NDF 

SETSVM 

M0V8 

INC 

CMP 

BLE 

SUB 

MOVB 

ADD 

MOV 

MOV 

CALL 

MOVB 

INCB 

INSERT 

MOV 

BR 

.ENDC 

MOV 

CALL 

MOV 

SUB 

MOVB 

BR 

CLR 

DIV 

MOV 

MOV 

BEQ 

CALL 

MOV 

ADD 

i-iOVB 

RETURN 



EXPFLG 

R5,-(SP) 

R0.R1 

RSDMAR 

CRADIX,R5 

55$ 

(SP)*.R5 

5$ 

XEDLSB 

LSGBAS,R1 

R1 

R1.*64. 

52i 

«64.,R1 

R1.LSGBAS 

#*D<64-1>,R1 

R5.-(SP) 

#10.. R5 

55$ 

«CH.D0L,(R4)t 

SECTOR 

(SP)»,R5 
5$ 



R4-VALUE 

40$ 

R4,R0 

VALUE, RO 

RO, SECTOR 

UPDMAC 

RO 

R5.R0 

R1,-(SP) 

R0.R1 

4li 

40$ 

(SP)^R5 

fUlG.6,R5 

R5.(R4)t 



RESET DU^MY ARGUMENT ROLL 



RSDMAR: CLR 
MOV 



10$: 



20$: 



BEQ 

NEXT 

DEC 

BGT 

RETURN 



$LSPNT 
ARCCNT,R3 
20$ 
DMALST 



.-EVALUATE EXPRESSION. ABS 

."♦017 CLR EXPR FLG — COMMA NOT R'QD 

.'STACK CHARACTER 

.'VALUE TO R1 

.•♦♦025 RESET DUMMY ARGUMENT ROLL 

.-♦♦025 SET CONVERSION RADIX 

.•♦♦025 CONVERT AND STORE ARGUMENT 



.•RESET CHARACTER POINTER 

.-GET LOCAL SYMBOL GENERATION BASE 

.•♦♦017 INCREMENT IT 

;^^017 COMPARE IT WITH 64. 

.•♦♦017 SKIP IF NOT GREATER THAN 

.'♦♦017 ELSE. KEEP WITHIN RANGE (64-127) 

.•♦♦017 SAVE GENERATION BASE 

.•START AT 64. 

.•STACK CURRENT CHAR 

.•MAKE IT DECIMAL 

.•♦♦025 CONVERT AND STORE ARGUMENT 

;^^025 INSERT DOLLAR SIGN 

.•♦♦025 UPDATE LENGTH 

,•♦♦025 UPDATE ROLL ENTRY 

.•RETURN TO MAIN LINE PROCESSING 



,•♦♦025 SET ADDRESS OF GENERATED ARGUMENT 

.•♦♦025 GENERATE ARGUMENT 

.•♦♦025 GET CURRENT GENERATION POINTER 

.■CALCULATE SIZE OF ARGUMENT STRING 

.'TORE ARGUMENT LENGTH 

.'♦♦025 FINISH IN COMMON CODE 

; MACRO NUMBER CONVERTOR 

; STACK REMAINDER 
;SET NEW NUMBER 
;DOWN TO ZERO? 
; NO. RE CURSE 

.GET NUMBER 
; CONVERT TO ASCII 

.•♦♦025 STORE CHARACTER IN GENERATION BUFFER 
.•♦♦025 



,•♦♦025 CLEAR LIST POINTER 

,•♦♦025 GET ARGUMENT COUNT 

;^^025 IF EQ NO ARGUMENTS YES 

:**0h GET NEXT DUMMY ARGUMENT ROLL ENTRY 

t**q}\ ANY MORE TO BYPASS? 

,•♦♦025 IF GT YES 



; CD042 
; CD042 

.'••-1 



; CD042 
.•♦♦-1 



CD042 
CD042 



•tt* c 11 •••• 



MACRS MACRO MHOS U-OEC-77 09:52 PAGE 5-5 



286 
287 
288 
289 
290 

291 001112 

292 001116 

293 001 12A 
29A 001130 

295 001136 

296 001136 

297 001 U2 



(06 C01U4 
m 001 U6 
{08 001152 
S09 001156 
no 001162 
{11 001166 
{12 001170 
{13 001172 
(U 001200 
{15 001204 
{16 001206 
{17 001210 
18 00121? 
!19 0012U 
KO 001216 
J21 001220 
J2 001 22A 
|23 001226 

?6 001242 
001246 
001250 
'^1260 



UPDATE DUMMY ARGUMENT ROLL ENTRY 



004767 
016767 
004767 
116767 



000207 



OOOOOOG UPDMAR: 
OOOOOOG OOOOOOG 
OOOOOOG 
OOOOOOG OOOOOOG 

UPDMAC: 



CALL 


GMARGF 


PARSE MACRO ARGUMENT 


MOV 


CHRPNT, VALUE 


STORE START ADDRESS OF ARGUM 


CALL 


RMARG 


RESTORE ARGUMENT 


MOVB 


SARGSZ, SECTOR 


STORE ARGUMENT STRING SIZE 
REF LABEL TO SHARE SOME CODE 


INSERT 




•♦♦025 UPDATE ROLL CNTRY 


RETURN 




•♦♦025 



CD042 
CD042 
CD042 
CD042 
CD042 
♦*-8 



;♦ 



'-•-PROMT-PROCESS MACrO TEXT 



005003 PROMT: 

166702 OOOOOOG 

005267 OOOOOOG IS: 

004767 OOOOOOG 

005367 0000006 

005700 

001016 

05276 1' OOOOOOG OOOOOOG 

004767 000^66 

001411 

005203 

023727 

OOOOOOG 

127726 

001004 

162703 000002 

100001 

000207 21: 

012767 OOOOOOG OOOOOOG 3t: 



001430 
010004 
0?6705 

m\ 

QQ4767 
005367 

5704 

^67 000052 

020527 000047 



41 1 



OOOOOOG 
OOOOOOG 
OOOOOOG 



61: 

61t: 
71: 



CLR 

SUB 

INC 

CALL 

DEC 

13T 

BNE 

BIS 

CALL 

BEQ 

INC 

CMP 

.WORD 

.RAD50 

BNE 

SUB 

BPL 

RETURN 

MOV 

SETCHR 

GETSYM 

BEQ 

SEARCH 

MOV 

BEQ 

MOV 

NEG 

DEC 

CALL 

DEC 

SETSYM 

TST 

BNE 

CALL 

GETRSO 

BGT 

CMP 



R3 

MACWRl ,R2 

GETFLG 

GCTLIN 

GETFLG 

RO 

2% 

«LC.MD.LCFLAG 

SETMAC 

3t 

R3 

B(PC)+,(PC)^ 

SYMBOL 

/.EN/ 

3S 

#2,RS 

3S 

#LINBUF. CHRPNT 



7$ 

DMALST 
1^0. R4 
5$ 

M0DE.R5 

R5 

CONCNT 

WCIMT 

CONCNT 

R4 

61$ 

WCIMT 

61 

RS.fCH.XCL 



.•♦♦010 CLEAR LEVEL COUNT 

;^^021 CONVERT R2 FROM ADDR TO OFFSET 

.'INHIBIT FILE CROSSING 

;GET NEXT LINE 

:ENABLE FilE CROSSING 

.TEST GETtlN RETURN STATUS 



;^^008 '.HECK FOF* MACRO-TYPE DIRECTIVE 
.•♦♦010 NOT TRUE, BFiANCH 

;.ENDM OR .ENDR? 

* 

; REDUCE LEVEL COUNT 
; ^^021 

{♦♦021 LOOK FOR MATCHING DUMMY ARGUMENT 
{♦♦021 GET ARGUMENT NUMBER IN R5 



•••t 



TIT 



••«• 






MACRS MACRO Ml 108 U-OEC-77 09:52 PAGE 5-6 



3A3 001 33A 


001406 




3AA 001536 


004767 


000032 


3A5 001 3A2 


001005 




3A6 001 3AA 


004767 


OOOOOOG 


347 001350 


000700 




3A8 001352 


005267 


OOOOOOG 


3A9 001356 






350 001362 


000727 




:5i 






:52 






153 






:5A 






;55 






:5A 






;57 






] 58 001364 






159 001364 


117705 


OOOOOOG 


160 001370 


042705 


177600 


:61 001374 






:62 001374 


005367 


OOOOOOG 


: 63 001400 


100407 




] 64 001402 


010546 




: 65 001404 


012705 


000047 


!66 001410 


004767 


000010 


]67 001414 


012605 




-68 001416 


000766 




] 69 001420 


005067 


OOOOOOG 


] 70 001424 


020227 


000020 


71 001430 
] 72 001452 


002416 




004767 


000044 


!75 001436 


010177 


OOOOOOG 


]74 






; 75 001442 


016701 


OOOOOOG 


:76 00*446 


004767 


OOOOOOG 


177 001 452 


017767 


OOOOOOG OOOOOOG 


] 78 001460 


010067 


OOOOOOG 


: 79 001464 


160002 




: 80 00U66 


016746 


OOOOOOG 




060216 
005202 




; IS 001476 


110536 




:|4 001500 


000207 





8$: 

9$: 



BEQ 

CALL 

BNE 

CALL 

BR 

INC 

GETCHR 

BR 



8$ 

WCIMT 

9$ 

ENDLIN 

IS 

CONCNT 

4$ 



t* 



•♦-WCIMT/WCIMTL/WCIMTT-WRITE CHARACTER IN MACRO TEXT BLOCK 



WCIMTL: 

WCIMTT: 
WCIMT:: 



1$: 
2$: 



31: 



MOVB 
BIC 

DEC 

BMI 

MOV 

MOV 

CALL 

MOV 

BR 

CLR 

CMP 

BLT 

CALL 

MOV 

MOV 

CALL 

MOV 

MOV 

SUB 

MOV 

ADD 

INC 

MOVB 

RETURN 



aCHRPNT.RS 
#1 77600. R5 

CONCNT 

1$ 

R5,-(SP) 

#CH.XCL.R5 

2S 

(SP)+.R5 

WCIMT 

CONCNT 

R2«4'BPMB 

3$ 

GETBLK 

R1 .aNACWRT 

NACWTV.RI 

lUNLPG 

aMACWRT.MACWTV 

RO.MACWRT 

R0,R2 

MACWRT,-(SP) 

R2.(SP) 

H 
R5.a(SP)* 



♦♦022 STORE MACRO CALL (LOWER CASE) CHAR 
tt022 GET ORIGINAL CHARACTER 
♦t022 PRESERVE POSSIBLE LOWER CASE 
♦♦017 WRITE CHARACTER INTO MACRO TEXT 
♦♦010 ANY CONCATENATED CHARS PENDING? 

NO 
YES. STACK CURRENT CHARACTER 



♦010 IS CURRENT MACRO TEXT BLOCK FULL? 
♦010 BRANCH IF THERE'S STILL ROOM 

♦021 PUT VIRT LOCN OF NEW TEXT BLK ... 
♦021 INTO LINK WORD OF OLD ONE 
♦021 GET VIRT LOCN OF OLD TEXT BLK 
♦021 UNLOCK ITS PAGE 
♦021 MAKE NEW TEXT BLK CURRENT ONE 
♦010 SAVE ADDR OF BLOCK BEING WRITTEN 
♦010 CONVERT R2 FROM ADDR TO OFFSET 
♦010 GET ADDR OF BLOCK BEING WRITTEN 
♦010 ADD OFFSET OF NEXT CHARACTER 
♦010 INCREMENT THE OFFSET 
♦010 STORE THE CHARACTER 






••-GEfBLK-GET A MACRO TEXT BLOCK 



OOOOOOG 




GETBLK 1 1 



000020 



11) 



MOV 

BEO 

CALL 

MOV 

BR 

MOV 



MACNXT.R1 

II 

tCVRL 

(RO).MACNXT 

21 

#BPMB,R1 



••♦♦C 
;♦♦( 
.•♦♦5 

;♦♦( 



,. GET VIRT LOCN OF NEXT FREE BLOCK 

1 IF EQ NONE LEFT 

1 ELSE, GET ITS REAL ADDR IN RO 

1 REMOVE BLOCK FROM FREE LIST 



.•♦♦021 SPECIFY SIZE OF BLOCK NEEDED 



•*•• I 11 *••* 



I ^AA^A AAAA^L^k 



_«« AA.B9 AAAB t.9 



«ACRS MACRO HIIOB U-DEC-77 09:52 PAGE 5-7 



t8? m^ 

A02 001 55A 

A03 001536 

AOA 

405 

A06 

407 

408 

409 

410 

411 

412 

413 001540 

414 001544 

415 001550 
416 

417 001554 

418 001560 

419 001564 
420 

421 001566 

422 

423 

424 

425 

426 

427 

428 001572 

429 001572 

430 001574 
' 001600 

001602 
001606 

434 001610 

435 001612 

436 001614 
457 001620 

)1622 

)1626 

.51630 

001632 

001634 

001636 



431 
433 



440 
441 




004767 OOOOOOG 
010002 
005022 
000402 



2$: 



CALL 
MOV 
CLR 
BR 



SALVRT 
R0.R2 
(R2)* 
WRMLCK 



:^t021 ALLOC A BLOCK FROM VIRTUAL MEMORY 

;t*021 PUT REAL ADDR OF BLOCK IN R1 

.•CLEAR LINK CELL, POINT PAST IT 

;t*021 BRANCH INTO COMMON CODE 



.'♦ 



**-INCMAC/DECMAC-ALTER MACRO REFERENCE COUNT 



105260 000002 
004767 OOOOOOG 



004767 OOOOOOG 
105360 000002 
100371 



1 
;- 






INCMAC: 
WRMLCK: 
yRM: 


:INCB 
CALL 
CALLR 


2(R0) 

SLCKPG 

tWRMPG 


DECMAC: 


:CALL 
DECB 
BPL 


ICVRL2 
2(R0) 

yRM 



CALLR REMMAC 



♦t008 



INTERNAL SUBROUTINE 



.■♦♦026 INCREMENT MACRO LEVEL COUNT 

;«t021 LOCK PAGE CONTAINING BLOCK 

;**021 MARK PAGE DIRTY AND RETURN 

;t*021 GET REAL ADDR OF BASIC TEXT BLK 

:«t021 DECREMENT MACRO REFERENCE COUNT 

:t*021 IF PL MACRO IN EXPANSION ... 

;tt021 (WILL BE REMOVED LATER) 

.'♦♦021 REMOVE MACRO DEFN AND RETURN 



CHECK FOR MACRO-TYPE DIRECTIVE 



010246 

004767 OOOOOOG 

001413 

012702 001634* 

005722 

011200 

001406 

026722 OOOOOOG 



—008 
SETMAC: 



It: 



001372 




000002G 



005700 
000207 



2t: 



St! 



000000 



000001 



MOV 

CALL 

BEQ 

MOV 

TST 

MOV 

BEQ 

CMP 

BNE 

CMP 

BNE 

MOV 

TST 

RETURN 



.IRP 

.RAD50 

.ENDR 

.WORD 



.ENDC 
.END 



R2.-(SP) 
SETDIR 
2t 
«3t-2.R2 

(R2)t 

(R2),R0 

2t 

SYMBOL. (R2)^ 

It 

SYMB0Lt2,(R2> 

It 

(SP)».R2 

RO 



X.<ENDM, ENDR. IRP 



♦017 

♦008 SAVE R2 

♦008 TEST FOR DIRECTIVE 

♦008 NOT TRUE — RETURN FAILURE 

♦008 PNT R2 TO MACRO-TYPE DIRECTIVES 

♦008 ADVANCE POINTER 

♦008 PUT NEXT IN LIST IN RO 

♦006 IF NULL RETURN FAILURE 

♦008 CMP THE FIRST HALF OF EACH 

♦008 BRANCH IF NOT A MATCH 

♦008 NOW CMP THE LAST HALF OF EACH 

♦008 BRANCH IF NOT A MATCH 

♦008 RESTORE R2 

♦008 SET RETURN STATUS 

♦008 (RO N0N-;ER0 means SUCCESS) 



♦008 

RPC.MACR.MACRO,REPT> 

♦008 

♦008 

♦♦008 END-OF-LIST 



;^^008 



•*•• f \\ ••#• 



MA^h■ MAran Miina ii..Mr.y7 nOi«3 PAftt 4«l 



MACRS MACRO MHOS 
SYMBOL TABLE 



U-OEC-77 09:52 PAGE 5-8 



ABSEXP« 
AM.DEC- 
AM.OEF« 

AM. INC* 

AM.PC « 
M.REL- 
ARGCNT* 
ARGMAX* 
ASTFLG> 
BLKTOI- 
BLKT02> 
BLKT03> 
8LKT04- 
8LKT05> 
BLKT06- 



CHRPNT> 
CH.AOO- 
CH.ANO- 
CH.nSL- 
CM. COL- 
CH.CGM- 
CH.DIV" 
CH.DOL- 
CH.DOT> 
CH.EQU- 
CH.HSH> 
CH.IND- 
CH.IOR* 
CH.LAB- 
CH.LP ■ 
CH.MUL* 
CM.PCT- 
CH.QM > 
CH.QTM- 
CH.RAB- 
CH.RP > 
CH.SMC' 
CN.SUB- 
CN.UAR- 
CH.XCl> 
CGNCNT 



000040 
000010 
000027 
000020 
000060 
000007 
000067 

*•*•*« 

0001 u 
000001 
000002 
000003 
000004 
000005 
000006 
000020 
#•**•• 

000053 
000046 
000134 
00007? 
000054 
000057 
000044 
56 
75 
000043 

00010C 

mi 

000050 
52 

5 

77 
2 

76 

, 3 

?U 

000047 



GX 



GX 
GX 



GX 




■ **«••* QX 



MIXED 000100 
PUMCt 001674 
ERRORS DETECTED) 



000 
003 



CPL = 000120 
CPXADD* 000001 
CPXAND* 000005 
CPXCOM* 000011 
CPXCON* 000020 
CPXD1V> 000004 
CPXFLG> 000200 
CPXGLB' 000016 
CPXIOR> 000006 
CPXMUL- 000003 
CPXNEG* 000010 
CPX0PC« 000010 
CPXREL> 000017 
CPXSDS> 000013 
CPXSTO« 000012 
CPXSUB« 000002 
CR > 000015 
CRADIX" •♦•••• GX 

CSTACC- 000020 
CSTALO> 000004 
CSTFLG- 000050 
CSTGBL> 000100 
CSTMEM> 000001 
CSTREL- 000040 
CSTTYP« 000200 
CTTBL « •••••• 6X 

CT.COM- •••••♦ GX 

CT.SMC- •*•••• GX 

DECMAC Q01554RG 
DEFFLG- 000010 
DFGFLG- 000020 
DIG.O - 000060 
D1G.9 ■ 000071 
Div ■ •>>•*•* G 
DMALST- ****** GX 
ENDLIN- •••••• GX 

ERRBTS- •••••• GX 

ERR. A ■ ••••*• GX 

EXPFLG- •••••• GX 

fr • OOQOU 

GENBUF OOOOQQR 
CETBU OO1502RG 
6ETCMR- ♦••••• GX 



GETFLGs ♦•••♦• GX 
6ETLIN- ••♦♦*♦ GX 
GETNB « *•♦♦♦• GX 
GETR50- ♦♦♦••* GX 
GETSYM- •♦**♦• GX 
GLBFLG- 000100 
GMARGF- ••••♦* GX 

GSARGF- *•♦♦•♦ GX 
GSDTOO- 000000 
GSDTOI- 000400 
GSDT02« 001000 
GSDT03> 001400 
GSDT04- 002000 
GSDT05- 002400 
GSDT06- 003000 
ILVL > 000001 
INCMAC 001540RG 
INSERT- •»•♦♦• GX 
LBLEND- •♦•♦•• GX 
LBLFLG- 000002 
LCENDL- ****** GX 
LCFLAG- •••♦•* GX 
LCMASK- ♦•••♦• GX 
LC.MC ■ •••••• GX 

LC.MD « •••••• GX 

LET. A - 000101 
LET.B > 000102 
LET.C ■ 000103 
003 LET.D « 000104 
LET.E > 000105 
LET.F - 000106 
LET.G • 000107 
LET.O • 000117 
LET.? . 000132 
LF . 000012 
LINBUF- ****** GX 
LINLEN- 000204 
LPP . 000074 
LSGBAS' ****** GX 
L STL EN- 000204 
002 LST.KB- 000001 
00! LST.LP- 000002 
NACGSB- ****** GX 



VIRTUAL MEMORY USEDi 3336 WORDS ( U PAGES) 
?5?2?i£ ^^a?"' JJi^^t.WO^PS ( 60 PAGF5) 
ELAPSED TIMtt 00>00i)1 
MACRS.tSO.MJ 
kQ 



HMACRS/-SP.C3n.l03RSXPAR.MPARAM.GtNHC.fLGDf,MACRS 



003 



MACNXT- 
MACWRT- 
MACWTV= 
MDFFLG- 
MODE - 
MT.MAC- 
MT. MAX- 
NEXT « 
NULCNT* 
NUSS^C- 
OBJLEN- 
PROMA 
PROMC 
PROMCF 
PROMT 
PSTFLG- 
REGFLG- 
RELFLG- 
REMMAC- 
RLDLEN- 
RLDTOO- 
RLDT01- 
RLDT02- 
RL0T03= 
RLDT04- 
RI.DT05> 
RLDT06« 
RL0T07- 
RLDTIO- 
RLDT11- 
RL0T15- 
RLDT16- 
RL0T17- 
RMARG * 
RSDMAR 
RSX11M- 
MltllM- 
SEARCH- 
SECTOR- 
SETCHR. 
SETDIR- 
SETMAC 
SETSYM- 



G 
G 
GX 



****** GX 

****** GX 

****** GX 

000004 

****** GX 

177603 

177603 

****** 

****** GX 

000004 

000052 

OOOOOORG 

0001 70RG 

0001 72RG 

001144RG 

000050 

000001 

000040 

****** 

000052 
000000 
000001 
000002 
000003 
000004 
000005 
000006 
000007 
000010 
000011 
000015 
000016 
000017 
****** 

001062R 

000000 

000000 

****** 



GX 



GX 



6X 

****** GX 
****** GX 
****** GX 

0015'2R6 
****** GX 



SMLLEN- 000120 
SPACE = 000040 
SRCLEN<: 000204 
STLLEN>: 000100 
SUBMAC- 000001 
SYMBOL- ****** GX 
TAB » 000011 
TSTARG* ****** GX 
TTLLEN- 000040 
UPDMAC 001136R 
UPDMAR 001112R 
003 VALUE - ****** GX 
003 VT = 000013 
003 WCIMT 001374RG 
003 WCIMTL 001364R 
WCIMTT 001370R 
WRM 001550R 
WRMLCK 001544R 
XBSRCH- 000000 
XCREF * 000000 
XEDABS- 000000 
XEDCDR- 000000 
XEDCRF- 000000 
XEDFPT- 000000 
XEDLC - 000000 
XEDPIC- 000000 
XEDPNC' 000000 
XFLTG » 000000 
X0PEXP« 000000 
XRGERR- 000000 
XSUBD = 000000 
XZERR « 000000 
X45 « 000000 
YflCMO « 000000 
003 ZAP « ****** GX 
SALVRT- ****** GX 
lARGSZ- ****** GX 
SCVRL « ****** GX 
SCVRL2- ****** GX 
SLCKPG- ♦**♦•* GX 
iLSPNTr «.»♦♦. GX 
003 SUNLPG- •*♦♦** GX 
jyRMPG= *•♦♦** GX 



003 
003 



003 
003 
003 
003 
003 



**•• Q t1 •••• 



rTT 




•••• H 11 ••*• 






NAC11 »«CRO mi08 U-OEC-77 09:53 PAGE 5 






I 



.TITLE 
.IDENT 



MAC11 



COPYRIGHT (C) 1972.1976 

DIGITAL EQUIPMENT CORPORATION. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 17 

B. BOWERING MAIN AUTHOR 



MODIFIED BY: 



1 



D.N. CUTLER ?0-JAN-73 

ADDITION OF REGISTER SYMBOLS AND AUTOMATIC RESOLUTION OF 
GLOBAL SYMBOL REFERENCES. 





D'ELIA 




D'ELIA 




D'ELIA 




D'ELIA 




D'ELIA 




D'ELIA 




D'ELIA 




D'ELIA 




D'EL A 




D'EL A 




D'ELIA 




NICHOLS 




d'eiia 




D'ELIA 




D'ELIA 




D'ELIA 



22-SEP-75 


001 


22-SEP-7: 


002 


0*-OCT-7! 


00! 


I2-NOV-7; 
15-NOV-7 


i 


16-N0V-7S 
10-JAN-7* 


010 


25-JAN-74i 


Oil 


28- J AN- 7* 
55-MAR-7* 


5^2 


013 


(7-APR-7A 


01$ 


H-JUN-7*. 


017 


21-N0V-7<. 
26-OCT-75 


nil 


M21 


01-NOV-71 


'^ 


1S-OCT-76 



(VIRT MEMORY) 

(CREF) 

(jMPR PFRFORMANCE) 



; GENfRATE REGISTER ROIL SYMBOL 
\ 



I MArti MAf-kn MllfVM 1i..Mr.97 AOi^t MAfit \m\ 



1 



HAC11 MACRO mi08 U-OEC-77 09:53 PAGE 5-1 



GENREG RNAK. VALUE 



7k 000000 

75 000000 

76 000000 

77 000010 

78 000020 

79 000030 
BO 000040 
81 000050 

J? 000060 
3 000070 
000100 



000100 

91 

9? 000000 

93 



000001 



WHERE: 



RNAME'A 2 CHARACTER REGISTER NAME. 
VALUE sA VALUE FROM TO 7. 



.MACRO 


GENREG RNAME. VALUE 


.RA050 


/RNAME/ 




.yORD 







.BVTE 


DEFFLG*REGFLG.O 




.WORD 


VALUE 




.ENOM 






PURE 
REGBAS:: 


REGSECD 


;**017 
;REF LABEL 


GENREG 


PC. 7 


;*»021 


6ENREG 


RO.O 




GENREG 


R1.1 




GENREG 


R?,2 




GENREG 


RS.3 




GENREG 


R4> 




GENREG 


R5.5 




GENREG 


SP.6 




REGTOP:: 




;RFF LABEL 


i ERROR FLAG DEFINITIONS 

1 





PURE 



TXTBVT.D 



,•♦♦017 



TMPCNT* 1 :SET FOR BIT SHIFTING 

ERRMNE : : . IRPC CHAR.< ABDf ILMN0PQRTUZ> ;^^012 GENERATE ERROR CODES 

.ASCII /CHAR/ 
ERR.'CHARr-TMPCNT 
THPCNT. TMPCNT»TMPCNT 

.ENOM 



; MACRO DEFINITIONS TO GENERATE RESIDFNT DA!A BASE TO ACCESS 

; VIRTUAL MEMORY LISTS AND RFAl MEMORY TARlFS. 

I 

.MACRO GENROL NAME .BASE .TOPE .St K 

.PSECT ROIBAS.D.RW .•♦♦01> 

NAME*ROL".-ROLBAS 
BAS^NAMEi! 

.WORD BASE 

.PSECT ROLTOP.D.RW ;m017 

TOM'NAMEi- 

.WORD TOPE 

PURE ROLSI/.D .•♦♦021 



SIZ' 



!wORD SIZE*? 



■Aril MArfen miM U.Mr. ^7 QOi^^ PAr.r S-) 



1 



«ACn t^ACRO «n08 U-OEC-77 09:53 PAGE 5-2 



000000 



115 
116 
117 
118 
119 
120 
121 

'P 

m 

125 
126 
127 
128 
129 
150 

ill 

1)6 000000 

157 000000 

158 000000 

159 000000 
140 000000 
U1 000000 
U2 000000 
U5 

U4 
U5 
U6 

U8 
U9 
150 
151 



000000 



'5' 

15A 

155 00000? 

156 

157 

158 

159 

160 

161 

162 

168 

164 

165 

'1! 



000004 



000006 



ill 





.ENOM 


GENAOL 








.MACRO 


GENLST NAME.SI7! 








.PSECT 


ROLBAS.D.RW 






NAME'LSTo.-tLSBAS 






BAS'NAME:: 










.WORD 











.PSECT 


ROLTOP.D.RW 








.yORD 











PURE 


ROLSIZ. D 








.yORD 


SIZE»2 








.PSECT 


LSTCNT.D.RW 








.WORD 











.ENDM 


GENLST 








.PSECT 


ROLBAS. D,RW 


tt017 




tLSBAS: 






♦t021 REF 


LABEL 


ROLBAS: 






MET LABEL 






.PSECT 


ROLTOP.D.RW 


♦ ♦017 




ILSTOP: 






♦♦021 REr 


LABEL 


ROLTOP! 






REF LABEL 






.PSECT 


ROLSIZ. D.RW 


♦ ♦017 




tLSSIZ: 






♦♦021 REF 


LABEL 


ROLSIZ: 






REF LABEL 






.PSECT 


LSTCNT.D.RW 


♦ ♦021 




ILSCNT: 






♦♦021 REF 


LABEL 



; DEFINE VIRTUAL MEFIORV LISTS 
t 

GENLST SVM, 4 

.M mf NFDLSa 

GENLST LSr. 4 
.ENDC 

.IF NDF XMACRO 

GENLST FMC. 5 

.IF NDF SXm 

GENLST LIB. 5 
.ENDC 
.INOC 



,•♦♦021 SYMBOL LIST 

♦ ♦021 

♦ ♦029 LOCAL SVMBOL ( 1ST 

♦ ♦021 

♦ ♦021 

♦♦021 MACRO NAME LIST 

♦ ♦021 

♦♦021 MACRO LlBRARr LIST 

♦ ♦021 
J ♦♦021 



MM R n •«•• 



I MAH < 



MAfkn Mima ii..Mr.y7 nOiW MAftl ««t 



1 



WCil MACRO M11 08 U-OEC-77 09:55 PAGE 5-3 



172 

173 000010 

17A 

175 

176 

177 

178 

179 

180 

181 

182 

183 000012 

185 

186 

187 OOOOU 

188 

189 

190 

191 

192 

193 

19A 000016 

195 000020 

19^ 



GENLST SEC. 5 



000010 



ZP$LST»»SECLST 



.IF NDF XMACRO 
GENLST DMA. A 
.IF NOF XSML 
GENLST MCL, A 
.ENOC 
.ENOC 



GENLST COD. 
GENLST CPX. 




000020 



V«ILST««CPXLST 



} 



;*t021 PROGRAM SECTION LIST 



.•♦t021 FOLLOWING A LISTS CAN BE ... 
;»»021 ZAPPED — ALL ARE SCRATCH ... 
.•♦♦021 LISTS WITH A-WORD ENTRIES 



.•♦♦021 

.'♦♦021 DUPWV ARGUMENT LIST 

.•♦♦021 

.•♦♦021 .MCALL NAME LIST 

.•♦♦021 

;^^021 



;^^021 CODE GENERATION LIST 
.'♦♦021 COMPLEX EXPR POLISH LIST 



,'♦♦021 PREVIOUS ARE VIRTUAL MEMORY LISTS 



; DEFINE REAL MEMORY TAlLES 



GENROL 
GENROL 
GENROL 
GENROL 
GENROL 
GENROl 
GENROL 
GENROL 
.IF NDF 



CN0.CND8AS.CN0TOP,2 
SWT.SWTBAS.SWTT0P.2 
EDT.EDTBAS.EDTT0P.2 
LCD.LCTBAS.LCTT0P.1 
PST.PSTBAS.PSTTOP.A 
SST.SSTBAS.SSTT0P.3 
REG.REGBAS.REGTOP.A 
SAT.SATBAS.SATT0P.2 



.'CONDITIONAL ARGUMENTS 
.-COMMAND STRING SWITCHES 
.ENABL/DSABL 
.•LISTING CONTROL 
{PERMANENT SYMBOL TABLE 
[♦♦on SHORT-ENTRY PS! 



XCREF 



{♦♦022 



GENROL CRF,CRFBAS,CRFT0P,2 .♦♦022 CREF OPTIONS 
.ENDC {♦♦022 

IMPURE LINE DATA INITIALIZATION CODE 



12700 000000' 
000000' 



PURE 

XCTLlNiiMOV 

3ll CLR 

CMP 

BHt 



XCrLlN,I.G8L;M0l^ 

«tMPLIN.R0 alNt INiriAllZATtON 

(RO)^ 

#iMPlir.R0 



•«•• 



rrr 



•••• 



MAtn MACRO M1108 1A-MC-77 09!';^ PAGF 5-A 



MAC11 MACRO M1108 U-DEC-77 09:53 PAGE 5-A 



229 
230 

231 OOOOU 

232 000000 
233 

23A 
235 
236 
237 
238 
239 
2A0 

2A1 000000 
2A2 000000 
2A3 000000 
2AA 000000 
2A5 000000 
246 000000 
it*? 000000 
248 000000 
2<.9 000000 

250 000000 

251 OQQOOO 

252 000000 



000207 





PURE 


XCTLIT.I.GBL 




;♦< 


017 




RETURN 




< 






.•♦♦015 












; DECLARATION OF IMF>URE DATA 


SECTIONS 




•-015 














•PSECT 


IMPURE. D.RW 




♦ ♦017 




IMPURE: 








♦♦015 REF 


LABEL 




.PSECT 


IMPURT, D.RW 




♦ ♦017 




IMPURT: 








♦♦015 REF 


LABEL 




.PSECT 


IMPPAS. D.GBL 


,RW 


♦ ♦017 




IMPPAS: 








♦♦015 REF 


LABEL 




.PSECT 


IMPPAT, D.GBL 


,RW 


♦ ♦017 




IMPPAT : 








♦♦015 REF 


LABEL 




.PSECT 


IMPLIN, D,G8L 


,RW 


♦ ♦017 




IMPLIN: 








REF LABEL 
♦ ♦017 






.PSECT 


IMPLIT,D,GBL 


,RW 




IMPLIT: 








REF LABEL 





•••• M 11 *««« 



MAC11 MACRO Ml 108 U-DK-77 09:5^ PAGF 6 



MACn MACRO Ml 108 U-OEC-77 09:53 PAGE 6 



25A 000000 
255 000000 
256 

257 000000 

258 000000 

259 OOOOOA 

260 OOOOOA 

261 000005 

262 000006 

263 000010 
26A 

265 000012 

266 000016 

267 000017 

268 000020 

269 000022 

270 00002A 

271 000026 

272 000030 



PASS: 



SYMBOL : 

MODE:: 

FLAGS:: 

SECTOR: 

VALUE:: 

RELLVL: 

CLCNAM: 
CLCFGS: 
CLCSEC: 
CLCLOC: 
CLCMAX: 
CHRPNT : 
SYMBEG: 
ENDFLG: 



.PSECT IMPURE. D.RW 

.BLKW 1 

.PSECT IMPPAS.D.G8L.RW 

: .BLKW 2 

.BLKB 1 

I .BLKB 1 

.BLKW 1 

: .BLKW 1 

: .BLKW 2 

! .BLKB 1 

: .BLKB 1 

: .BLKW 1 

: .BLKW 1 

: .BLKW 1 

: .BLKW 1 

I .BLKW 1 



♦ ♦017 
PASS FLAG 

NEXT GROUP MUST STAY TOGETHER 

♦ ♦017 

SYMBOL ACCUMULATOR 
MODE /FLAGS BYTE 

SYMBOL/EXPRESSION TYPE 
EXPRESSION VALUE 
RELOCATION LEVEL 

CURRENT LOCATION COUNTER NAME 



t 
i 

; CHARACTER POINTER 

; POINTER TO START OF SYMBOL 



•**• N )y *«** 



MAC11 MACRO M1108 U-OEC-77 09:53 PAGE 7 



27A 000032 
175 



)1 000000 
282 000004 



0OA767 
0OA767 



OOOOOOG 
OOOOOOti 



000010 005167 OOOOOOG 



287 OOOOU 

m^h 

290 000026 

291 000032 

292 00Q0S6 

293 OOOMO 
294 

295 000042 

296 OOQOOO 

297 000004 
298 

299 000006 

300 

301 000010 

302 

305 000042 



004767 OOOOOOG 



004767 
005767 
001766 
000207 



OOOOOOG 
OOOOOOG 
000030' 



127401 007624 
127400 

OOOOOOG 



000167 OOOOOOG 



PURE PUREI.I 



ASSEMBLER PASS CONTROL 



MACP2:: 
MACP2F : 



31: 

4t: 



RSQABS: 
RSODOTi 



CALL 
CALL 
.IF NDF 

con 

.ENDC 

CALL 

BNE 

CALL 

CALL 

TST 

BEQ 

RETURN 

PURE 
!.RAD50 
:.RADSO 



iLDMACc.WORD 



OVSTMT! 



PURE 
:JMP 



XCTPAS 
SECINI 
XSML 
LIBNUM 



6ETLIN 
4S 

STMNT 
ENDLIN 
ENDFL6 
31 



DPURE.D 
/. ABS./ 
/. / 

MACROC 

PUREM 

STMNT 



;tt017 



MACRO PASS 2 

♦♦Oil INITIALIZE SECTOR ROLL 

♦ ♦007 

♦♦007 SET CURRENT LIBRARY NUMBER 10 MINUS 
♦♦013 AND CURRENT SRC FILE NUMBER TO -1 

♦ ♦007 

GET THE NEXT INPUT LINE 

BRANCH IF EOF 
PROCESS THE STATEMENT 
POLISH OFF LINE 
END SEEN? 

NO. CONTINUE 



;^^017 

^♦015 

;^^029 REF TO LOAD MACRO OVERLAY 

.'♦♦017 

.•♦♦006 LOAD OVERLAY TO PROCESS STMTS 



•••• 



TIT 



•«•« 



MAC11 MACRO mi08 U-DEC-77 09:53 PAGE 8 



305 000000 

306 000000 
307 

308 000002 

309 OOOOOA 
310 

311 0000A6 

312 0OOOA6 

313 000052 
3U 000056 

315 000062 

316 000066 
317 

318 000070 

319 000070 

320 000072 

321 000074 

322 000076 

323 000102 
32A 000106 

325 000110 

326 000112 

327 0001 U 

328 000116 

329 000120 

330 000122 
S31 



.PSECT 
0PCLAS::.BLKW 

eYTM0D::.BLKW 
PURE 



IMPLIN.D.GBL.RW ,•♦♦017 



012701 000000' 

012702 000005' 

012703 OOOOOA' 
01270A 000006' 
000207 



0103A6 

0102A6 

010U6 

0166A6 000006 

010A66 000010 

00A736 

012601 

012602 

012603 

012604 

005700 

000207 



000001 



SETXPR:: 



MOV 
MOV 
MOV 
MOV 
RETURN 



SAVREG:: 



00012A 012122 




:38 




:39 000126 


012122 


:40 000130 


012122 


:A1 000132 


012122 


!«2 000134 


012122 


]45 000136 


012122 


144 000140 


012122 


:45 000142 


012122 


: 46 000144 


000207 


i48 




!49 000146 




350 000146 

351 000150 


112122 
001376 


352 000152 

353 000154 


ic:'4,? 


000207 



MOV 

MOV 

MOV 

MOV 

MOV 

CALL 

MOV 

MOV 

MOV 

MOV 

TST 

RETURN 



1 

1 
PUREI.I 



#SVMB0L,R1 
#SECT0R.R2 
im0DE.R3 
#VALUE.R4 



R3.-(S"') 

R2,-(SP) 

R1,-(SP) 

6.(SP).-(SP^ 

R4,8.(SP) 

•(SP)^ 

<SP)+,R1 

(SP)^.R2 

(SP)^,R3 

(SP>+,R4 

RO 



;0P CODE CLASS 

;^^006 BYTE MODE WHEN NOT ZERO 
;^*017 

;SET EXPRESSION REGISTERS 



.-SAVE REGISTERS 



; PLACE RETURN ADDRESS ON TOP 

.-RETURN THE CALL 
.'RESTORE REGISTERS 



;SET CONDITION CODES 



.LIST MEB 



MOV 

XMIT7 
XMIT6 
XMIT5 
XMIT4 
XMIT3 
XMIT2 
XMIT1 
XMITO 



.REPT 
MOV 
.ENDR 
(R1)^.(R2)+ 



<8PMB/2>-7 
(R1)^.(R2)^ 



;^^021 
;PAO TO 



MAX NEEDED 



;PAD TO MAX NEEDED 



MOV 
MOV 
MOV 
MOV 
MOV 
MOV 
MOV 
RETURN 



MQVBYTii 

It: MOVB 
BNE 
TSTB 
RETURN 



(R1)^.(R2)+ 
(R1)^,(R2)^ 
(R1)^,(R2)^ 
(R1)^.(R2)^ 
(R1)^,(R2)^ 
(R1)^.(R2)+ 
(R1)^.(R2)^ 



(R1)^,;«2)^ 

It 

-(R2) 



MOVE VECTOR 



MOVE BYTE STRING 

MOVE ONF 

LOOP IF NON-NULL 

END. POINT RACK TO NULL 



•t*ft c 12 **•* 



MAC11 MACRO M1108 H-DEC-77 09:53 PAGE 9 



♦♦Oil 



36A 

365 000156 

366 000160 
367 

36A 

369 0001 6A 

370 000166 

371 000172 
372 

37A 000174 
375 000200 
376 
377 

378 000202 

379 000204 

380 000206 

iSI 

387 000220 

388 000222 

390 

391 000226 

392 000230 
593 

|94 

|95 000234 
000236 



J99 000242 
400 000250 
401 

402 000252 
000252 052767 

403 000260 



000212 
000214 



005203 
000167 



005212 
042712 
000207 



052712 
000207 



005203 
005203 
000167 



005203 
000167 



005103 
000167 



005103 
000167 



005203 
000167 



016767 
001003 



001000 
000207 



000001 



OOOOOOG 

000001 

000001 

OOOOOOG 
OOOOOOG 
OOOOOOG 
OOOOOOG 
OOOOOOG 



THE FOLLOWING ENTRY POINTS ARE REMOVED FROM MODULES NORMALLY NOT 
FOUND IN THE ROOT. THEY WERE PLACED IN THIS ROOT MODULE TO PREVENT 
THE GENERATION OF ADDITIONAL OVERLAY AUTO-LOAD TRANSFER VECTORS. 



—Oil 





.ENABL 


LSB 


BLKW:: 


INC 
JMP 


R3 
BLKB 


EVEN:: 


INC 
BIC 
RETURN 


(R2) 
«1,(R2) 


ODD:: 
EOT:: 


BIS 

RETURN 


#1,(R2) 


ASCIZ: 
ASCII: 


INC 
INC 
JMP 


R3 
R3 
RAD50 



WORD:: INC R3 
JMP BYTE 



DSABL:: COM R3 

JMP ENABL 



NLIST:: COM R3 
JMP LIST 



IRPC:: INC R3 
JMP IRP 



OOOOOOG OOOOOOG MEXIT:: MOV 

BNE 



MACLVL.CNDMEX 
2t 



OOOOOOG 



OPCERR:: ERROR 
BIS ITFRR.O.ERRBTS 

2t: RETURN 

.DSABL LSB 
.END 



;^^011 



♦Oil INDICATE 'BLKW" 
♦011 JUMP TO COMMON CODE 



♦Oil INCREMENT PC 
♦Oil FORCE IT EVEN 
♦Oil 



♦Oil FORCE ODD PC 
♦Oil 



♦Oil INDICATE "ASCIZ" 
♦Oil INDICATE "ASCII" 
♦Oil JUMP TO COMMON CODE 



♦Oil INDICATE 'WORD" 
♦Oil JUMP TO COMMON CODE 



♦Oil INDICATE '1>SABL" 
♦Oil JUMP TO COMMON CODE 



♦011 INDICATE 'NLIST" 
♦011 JUMP TO COMMON CODE 



♦Oil INDICATE "IRPC" 
♦Oil JUMP TO COMMON CODE 



♦011 ARE WE IN A MACRO? 
♦Oil YES SKIP 

OP-CODE ERROR 

♦Oil 

{♦♦Oil 



*••* D 12 **** 



I uAAAA M^t.^m.m. **««« 



MACn MACRO mi08 
SYMBOL TABLE 



U-DEC-77 09:53 PAGE 9-1 



AM.DEC= 

AM.DEFs 

AH.im« 

AM.INC- 

AM.NDX- 

AM.PC « 

AM.REL< 

ASCII 

ASCIZ 

ASTFLG« 

BASCND 

BASCOO 

BASCPX 

BASDMA 

BASEOT 

BASLCD 

BASLIB 

BASLSY 

BASMAC 

BASMCL 

BASPST 

BASREG 

BASSAT 

BASSEC 

BASSST 

BASSWT 

BASSYM 

BLKB 

BLKT01 

BLKT02 

BLKT03' 

BLKT04 

BLKTOS 

BLKT06< 

BLKW 



BYTE 

BYTMOD 

CHRPNT 

CH.AOD 

CH.AND 

CH.BSL 

CH.COL 

CH.COM- 

CH.DIV 

CH.DOL 

CH.OOT 

CH.EQU 

CH.HSN 

CH.INO 

CH.IOR 

CH.LAB 

CH.LP 

CH.MUL 

CH.PCT 

CH.QM 

CH.QTMi 



OOOOAO 

000010 

000027 

000020 

000060 

000007 

000067 

00020ARG 

000202RG 

0001 U 

000022RG 

00001 6RG 

000020RG 

00001 2RG 

000026RG 

000030RG 

000006RG 

000002RG 

000004RG 

OOOOURG 

000052RG 

000036RG 

OOOOAORG 

00001 ORG 

000034RG 

00002ARG 

OOOOOORG 

****** GX 

000001 

000002 

000003 

OOOOOA 

000005 

000006 

0001 56RG 

000020 

****** GX 

000002RG 

000024RG 

000053 

000046 

000134 

000072 

000054 

000057 

000044 

00005^ 




004 



004 
004 



CH.RABs 
CH.RP = 
CH.SMC= 
CH.SUB- 
CH.UARs 
CH.XCL= 
CLCFGS 
020 CLCLOC 
020 CLCMAX 
CLCNAM 
. CLCSEC 
004 CNOBAS- 
004 CM)MEX^ 
004 CNOROL'c 
004 CNOTOP 
004 C0DLST< 
004 CPL « 
004 CPXAOD» 
004 CPXANO:: 
004 CPXCOM* 
004 CPXCON 
004 CPXDIV 
004 CPXFLG 
004 CPXGLB 
004 CPXIOR 
CPXLST 
CXMUL 
CPXNEG 
CPXOPC 
CPXREL 
CPXSDS 
CPXSTO 
CPXSUB' 
CR 
020 CSTACC 
CSTALO 
CSTFLG 
016 CSTG6L 
CSTHEM- 
CSTREL 
CSTTVP 
OEFFLG 
DFGFLG 
DIG.O 
DIG. 9 
DMALST 
DSABL 
EDTBAS 
EDTROL 
EDTTOP 
ENABL 
ENDFLG 
ENDLIN< 
EOT 

ERRBTS 
ERRMNE 
ERR. 



000076 
000051 
000073 
000055 
000136 
000047 
00001 6RG 
000020RG 
00(i022RG 
00001 2RG 
00Ci017RG 
GX 
****** 

000022 



>s ****** 



GX 

G 

GX 

G 



014 



000016 

000120 

000001 

000005 

000011 

000020 

000004 

000200 

000016 

000006 

000020 G 

000003 

000010 

000010 

000017 

000015 

000012 

000002 

00001 S 

000020 

000004 

000050 

000100 

000001 

000040 

000200 

000010 

000020 

000060 

000012 G 
000220RG 
•**♦*• GX 

000026 G 
****** GX 
****** ex 
000030RG 
****** GX 
000200RG 
****** GX 

n 



ERR. A ■■ 
ERR.B ■■ 
ERR.D ■■ 
ERR.E ■■ 
ERR. I ■■ 
ERR.L •■ 
014 ERR.M •■ 
014 ERR.N ' 
014 ERR.O : 
014 ERR.P •■ 
014 ERR.Q ■■ 
ERR.R 
ERR.T ' 
ERR.U ' 
ERR.Z 
EVEN 
FF 

FLAGS 
GETLIN' 
GLBFLG< 
GSDTOO^ 
GSDTOV 
GSDT02' 
GSDT03' 
GSDT04' 
GSDT05' 
GSDT06< 
ILVL ' 
IMPLIN 
IMPLIT 
IMPPAS 
IMPPAT 
IMPURE 
IMPURT 
IRP 
IRPC 
LBLFLG 
LCDROL 
LCTBAS 
LCTTOPi 
LET. A 
LET.B 
LET.C 
LET.D 
LET.E 
LET.F 
020 LET. 6 
LET.O 
LET.Z 
LF 

LIBLST 
LIBNUM 
LlNLENi 
020 LIST 
LPP 
003 LSTLEN^ 
LST.KB 



014 



000002 

000004 

000010 

000020 

000040 

000100 

000200 

000400 

001000 

002000 

004000 

010000 

020000 

040000 

100000 

0001 64RG 

000014 

000004RG 

****** GX 

000100 

000000 

000400 

001000 

001400 

002000 

002400 

003000 

000001 

OOOOOOR 

OOOOOOR 

OOOOOORG 

OOOOOORG 

OOOOOORG 

OOOOOORG 

****** GX 

000234RG 

000002 

000030 G 

****** GX 

****** GX 

000101 

000102 

000103 

m\^, 

000106 
000107 
000117 

m 

000006 

****** 

000204 



****** GX 



G 
GX 




LST.LP* 

LSYLST= 

MACLSTs 

MACLVL= 

MACP2 

MACP2F 

MACR0C<= 

MCLLST= 

MOFFLG= 

MEXIT 

MODE 

MOVBYT 

NLIST 

NUSSECc 

OBJLENs 

020 ODD 
OPCERR 

014 OPCLAS 
OVSTMT 
PASS 
PSTBAS> 
PSTFLG» 
PSTROL« 
PS T TOP" 
RAD50 B 
REG6AS 
REGFLG' 
REGROLb 

016 REGTOP 

017 RELFLG« 

014 RELLVL 

015 RLDLEN" 

012 RLDTOO« 

013 RLDT01" 
RLDT02« 

020 RLDT03« 
RLDT04C 
RLDT05« 
RLDT06'' 
RLDT07" 
RLDT10- 
RLDT11" 
RLDT15> 
RLDT16> 
WLDT17" 
ROLBAS 
ROLSIZ 
ROLTOP 
RSX11M- 
Rtt11M> 
R5QABS 
R5000T 
SATBAS- 
SATROL> 
SA1T0P* 
SAVREG 
SECINI* 



000002 
000002 G 
000004 G 

****** GX 

OOOOOORG 
000004RG 
****** GX 

OOOOU G 

000004 

000242RG 

000004RG 

0001 46RG 

000226RG 

000004 

000052 

0001 74RG 

000252RG 

OOOOOORG 

000042RG 

OOOOOORG 

****** GX 

000050 

000032 G 

****** GX 

****** GX 

OOOOOORG 

000001 

000036 G 

0001 OORG 

000040 

00001 ORG 

000052 

000000 

000001 

000002 

000003 

000004 

000005 

000006 

000007 

000010 

000011 

000015 

000016 

000017 

OOOOOORG 

OOOOOORG 

OOOOOORG 

999009 
000000 

OOOOOORG 
000004RG 
****** GX 
000040 G 
****** GX 

000070RG 
****** GX 



012 



SECLST= 
SECTOR 
SETXPR 
SIZCND 
020 SIZEDT 
020 SIZLCD 
SIZPST 
SIZREG 
SIZSAT 
020 SIZSST 
014 SIZSWT 
020 SMLLEN« 
020 SPACE = 
SRCLEN' 
SSTBAS 
020 SSTROL 
020 SSTTOP 
016 STLLEN 
020 STMNT 
SUBMAC 
SWTBAS 
SWTROL" 
SWTTOP« 
SYMBEG 
SYMBOL 
002 SYMLSTx 
TAB > 
TMPCNT* 
TOPCND 
TOPEDT 
TOPLCO 
TQPPST 
TOPREG 
TOPSAT 
TOPSST 
TOPSWT 
TTLLEN= 
VALUE 
VMfLST» 
VT 

WORD 
XBSRCH:: 
XCREF « 
XCTLIN 
XCTPAS« 
.. XEDABS« 
006 XEDCDR* 
005 XEDCRF« 
XEDFPT« 
XEDLC « 
XfDPIC= 
XEOPNC= 
XFL1G 



002 
014 



004 



?1 



1 



XMITO 

xmitT 

020 XMIT2 
XMITS 



000010 G 

000005RG 

000046RG 

000022RG 

000026RG 

000030RG 

000032RG 

000036RG 

000040RG 

000034RG 

000024RG 

000120 

000040 

000204 



GX 

G 

GX 



GX 



;r ****** 

000034 

>s ****** 

000100 

****** 

000001 

;s ****** GX 

000024 G 

****** GX 

000026RG 

OOOOOORG 

000000 G 

000011 

000000 

000022RG 

000026RG 

000030RG 

000032RG 

000036RG 

000040RG 

000034RG 

000024RG 

000040 

000006RG 

000020 G 

000013 

00021 2RG 

000000 

000000 

OOOOOORG 

****** GX 

000000 

000000 

000000 

000000 

000000 

000000 

000000 
000 
144RG 
U2RG 
UORG 
136RG 



014 
020 
006 
006 
006 
006 
006 
006 
006 
006 



014 
014 



005 
005 
005 
005 
005 
005 
005 
005 

014 



020 



010 






•••• I 12 *••* 



MAfaw i«4tft> li.-lttr-T'* AQ.d B*ftC 0-5 



MAC11 


MACRO M1108 U-DEC-77 09:53 


SYMBOL 


TABLE 




xniTA 


0001 3ARG 


020 XOPEXP= 000000 


XWITS 


0001 32RG 


020 XRGERR: 000000 


XMIT6 


0001 30RG 


020 XSUBD ^ 000000 


XH1T7 


0001 26RG 


020 


. ABS. 


000000 


000 




000000 


001 


REGSEC 


000100 


002 


TXTBYT 


000020 


003 


ROLBAS 


0000A2 


004 


RaTOP 


0000A2 


005 


ROLSIZ 


0000A2 


006 


LSTCNT 


000022 


007 


XCTLIN 


OOOOU 


010 


XCTLIT 


000002 


Oil 


IMPURE 


000002 


012 


IMPURT 


000000 


013 


IMPPAS 


000032 


OU 


IMPPAT 


000000 


015 


IMPLIN 


000004 


016 


IMPLIT 


000000 


017 


PURE I 


000262 


020 


OPURE 


000010 


021 


ERRORS DETECTED: 






PAGE 9-2 



XZFRR = 000000 
X45 = 000000 
YQCMO = 000000 



ZP»LST» 000010 G 
SLDMAC 000006RG 
SLSBAS OOOOOORG 



SLSCNT OOOOOORG 007 
021 SLSSIZ OOOOOORG 006 
004 SLSTOP OOOOOORG 005 



VIRTUAL MEMORY USED: 3891 WORDS ( 16 PAGES) 
DYNAMIC MEMORY: 157U WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:33 

MAC11.C30,30]MAC11/-SP«C30.10]RSXPAR,MPARAM,GENMC,FLGDF.MAC11 
_Q L 



•••* f )2 *t** 




*•*• 6 12 **•« 



mrkii MAron Mima U.n»r.77 OQi^A PACF 4 



MCALL MACRO M1108 H-OEC-77 09:5A PAGE 4 



.TITLE MCALL 
.lOENT /OA/ 



COPYRIGHT (C) 1972,1976 

DIGITAL EQUIPMENT CORPORATION. MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF. NAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 04 
B. BOWERING 

MODIFIED BY: 



D.N. CUTLER 6-FE8-73 

C.A. D'ELIA 01-AUG-74 

C.A. D'ELIA 3I-DEC-74 

C.A. D'ELIA 20-OCT-75 

C.A. D'ELIA 05-SEP-76 

C.A. D'ELIA 13-0CT-76 

.IF NDF XMACRO 
.IF NDF XSML 



017 
018 
021 
026 
029 



<VIRT MEMORY) 
(KEYWORD MACROS IN 8K> 
(IMPR PERFORMANCE) 



OOOOOO 



; MACRO L1BRAR> ALLS 
i 

.MCALL FDBDFt 



GLOBAL DATA 

MISC DATA NEEDED BY 'SCNLIB' 

.PSeCT MIXED. D,RW 



;»»018 



;m026 



*••* H 12 •••* 



iir4M MArnn Mlinil U-DFT-r; QQi^4 PA&F 4-1 



MCALL MACRO M1108 U-OEC-77 09:5« PAGE A-1 



S8 

59 

60 000000 

61 000002 
62 



H 



66 000000 

67 

68 000000 

69 

70 

71 OOOUO 

72 



76 

n 000000 

78 000004 

79 000006 

80 000012 

81 OOOOU 

82 000022 
85 00002A 
8A 000030 

85 000032 

86 000036 

87 000040 

88 000044 

89 000050 

90 000054 
91 



004767 
001417 
005767 
001404 

000410 
004767 
001403 
004767 
001372 
004767 
005067 
005067 
000167 



OOOOOOG 
OOOOOOG 

OOOOOOG 

OOOOOOG 

OOOOOOG 
OOOOOOG 
OOOOOOG 
OOOOOOG 



MNCNT:: .BLKW 1 
MCLPNT::.BLKW 1 



:tt0?6 COUNT OF ENTRIES IN LIBRARV 
;»*026 SAVED .MCALL LIST POINTER 



GENERATE LIBRARY FILE DUMMY FDB (DEFINITION WILL BE OVERLAID) 
.PSECT SMLFDB.D.GBL.OVR ;+*018 
SMLFDB::FDBDFS ;^t018 ALLOCATE FDB AT LOWEST POINT 



PURE PUREI.I 



J* 



**-MCALL-MACR0 LIBRARV CALL 



MCALL: 



II: 



41: 
5$: 



CALL 


SMLTST 


BEQ 


5S 


TST 


PASS 


BEQ 


IS 


ERROR 


U 


RR 


51 


-ALL 


INISML 


BEQ 


4S 


CALL 


SCNLIB 


BNE 


It 


CALL 


FINSML 


CLR 


SMLLVL 


CLR 


ENDFLG 


JMP 


tCKMAC 



.'♦♦017 



TEST FOR UNDEFINED ARGUMENTS 

BRANCH IF NONE 
FOUND SOME, PASS ONE? 
♦♦018 YES. PROCESS THE .MCALL 
♦♦018 NO, INDICATE UNDEFINED MACRO NAMES 
♦♦018 THEN BRANCH TO LEAVE 
GET ANOTHER FILE 
♦♦018 JUST LEAVE IF NONE LEFT 
♦♦018 VERIFY AND PROCESS LIBRARY FILE 
♦♦018 .MCALL UNSATISFIED. OPEN NEXT LIBRARY 
♦♦018 DONE. CLOSE LIBRARY FILE 
MAKE SURE COUNT IS ZAPPED 
DITTO FOR END FLAG 
♦♦029 CHECK FOR PST/MACRO NAME MATCHES 



THIS ENTRY IS CALLED BY 'SCNLIB' TO PROCESS A MACRO DEFINITION. 
IT IS NEEDED IN THE SMALL ASSEMBLER BECAUSE 'SCNLIB' AND 'MACROD' 
ARE ON PARALLEL OVERLAY SEGMENTS. 



99 000060 004767 OOOOOOG 
100 000064 000167 OOOOOOG 
101 



tPMDEF::CALL 
JMP 



.ENDC 
.ENDC 



MACROF 

SSLRTN 



.•♦♦026 PROCESS MACRO DEFN FROM LIBRARY 
,'♦♦026 RETURN/RELOAD LIBRARY SCAN ROUTINE 



000001 



.END 



•«•• 



TTF 



««•« 



MAfMn H«i«\M «i.-iv«r_99 na.Ki AAAI Lm% 



WALL MACRO M1108 U-OEC-77 09:54 PAGE 4-2 
SVf«OL TABLE 

ISt^t: :::::: 8! ISSScW?" '"'I?£tl»: 

ERRTu GX OeJLEN- 000052 SUMAC- 

FINSUL" •♦•*** GX PASS ■ •••••• GX S.FDB » 

ILVL « 000001 RLDLEN" 000052 S.FNA»« 

INISML* **•••* GX RSXnm 000000 S.FNB * 

L1NLEN> 000204 RS$11M> 000000 S.FNBW* 

LPP » 000074 SCNLIB» •••••* GX S.FNTV» 

LSTLEN- 000204 S^FOB OOOOOORG 003 S.FTVP» 

MACROF> **•*•• GX SniLEN' 000120 S.NFEN* 

. ABS. 000000 000 

000000 001 

MIXED 000004 002 

SMLFDB 000140 003 

PURE I 000070 004 

ERRORS DETECTED: 

VIRTUAL MEMORY USED: 3258 WORDS ( 13 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:23 

MCALL.C30,50]MCALL/-SP>C30.10]RSXPAR.MPARAM.GENMC.MCALL 
)Sr 



••♦*•• GX 
**•••* GX 

000100 
000001 
000140 
000006 
000036 
000017 
000004 
000002 
000020 



TTLLEN» QQO040 
XBSRCH« 000000 


X0PEXP= 000000 




XRGERR' 000000 




XCREF » OQQOOQ 
XEDABS' 000000 


XSUBD ' 000000 
X7ERR > 000000 




XEDCDR> OOOQOO 
XEDCRF> 000000 


X45 » 000000 




YOCMO » 000000 




XEDFPT- 000000 


SCKMAC= •••••• GX 




XEDLC ' 000000 


SPMOEF 000060RG 


004 


XEDPIC* 000000 


SSLRTN« •••••• GX 




XEDPNC* 000000 


...PC1« OOOOOOR 


003 


XFLTC « 000000 


...TPC« 000140 





•••• J 12 t««t 




•••• K II •••* 



I M ikc MArttn Mtir\M 1i._Mr.T9 OOiti MAfif i 



MLIBS MACRO M1108 U-OEC-77 09:5* PAGE A 



1$ 



000000 



.TITLE 
. I DENT 



ML IBS 
/09.01/ 



COPYRIGHT (C) 1972.1977 

DIGITAL EQUIPMENT CORPORATION. MAVNARD. MASS. 

THIS SOFTyARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 09.01 
B. BOWERING 



MODIFIED BY! 



D.N. 


CUTLER 




D'ELIA 




D'ELIA 




D'ELIA 




D'ELIA 




D'ELIA 




NICHOLS 




D'ELIA 




D'ELIA 




D'ELIA 



■FEB-73 

15-NOV-73 
10-JAN-74 
05-MAR-7* 
22-MAR-74 
07-APR-7A 
18-JUN-7A 
01-AUG-7A 
21-NOV-7A 
20-OCT-75 



007 
010 
015 
OU 
015 
017 
017 
018 
021 



(VIRT MEMORY) 



C.A. D'ELIA 31-AU0-77 

CD045 — LB: PSEUDO DEVICE SUPPORT. 



MACRO LIBRARY CALLS 



.IF NDF NSML 



.MCALL FDOFFI 
FDOFFl DEFtL 



;m007 



.'♦♦017 
;»»017 



.MCALL CALL.RETlMN.CLOSEI.fpBDfl.FDRCIA.FDOPIA ;»»015 
.MCALL NMBLKl.FDATiR ;m018 



••t* L 



TF 



*••• 



M IM MArRnMltOR U-DFC-77 09:SA PAGFA-1 



ML IBS MACRO M1108 U-DEC-77 09:5A PAGE A-1 
SI 



7A 

75 000000 

76 



S 



80 

81 000000 

82 OOOUO 
85 OOOUO 



89 OOOUO 

90 

91 000000 



97 00QQ56 

98 000040 

99 00004? 

100 000044 

101 000046 

102 000050 

103 000052 
000055 061 

104 000057 
105 
K- 

7 000060 



000000 
000000 
000005 
000052' 
000000 
000000 
135 
135 





061 



116701 000012G 



.IF NDF RSX11M 

.MCALL OPENSR 

.IFF 

.MCALL OFNBSR 

.ENOC 







.•♦♦OU 






.•♦♦014 






.'♦♦014 






.•♦♦014 






;^^0U (RSX11M) 


>,G8L 


,OVR 


;^^018 



; MACRO FILE FDB 

« 

PDBDFS .•♦♦018 

FDRCSA O.LI^BUF.LINLEN 
FDOPtA 6.SMLDS.SMLNAM 

; SYSTEM MACRO FILE DEFAULT NAME BLOCK 
{ 

PURE DPURE.D ;^^017 

SMLNAM: NMBLKt RSXMAC.SML. ,LB 

SYSTEM MACRO FILE DA:A SET DESCRIPTOR 



SMLDS: .WORD 

.WORD 

.WORD SMLDRE-SMLDR 

.WORD SMLDR 

.WORD 

.WORD 

054 f.MLDR! .ASCII /[1.1]/ 



SMLDRE: 



101: 
INISML.-! 



.EVEN 

PURE PURE 1. 1 

.ENABL LSa 

CALL 201 



; CD045 
;.-1 



NO DEVICE NAME 
DIRECTORY NAME 
NO FILENAMt 
DIRECTORY NAME 

,'♦♦017 

{♦♦007 

.'♦♦OQV CLOSE CURRENT LIBRARY FILE 
.•♦♦014 



Move lOFTBL^SMLCHN.RI .•♦♦014 PUT FILE STATUS IN R1 



MLIB<1 MAC Rn Mil 08 U-DtC-77 09i54 PAGF 4-2 



ML IBS 



MACRO M1108 U-DEC-77 09:5A 


PA6E 4-2 


U 000010 


002456 


A 




15 000012 


001372 






16 OOOOU 


116702 


OOOOOOG 




17 000020 


001452 






18 000022 


003002 






19 000024 


016702 


ooooooc 




20 000030 


005302 




12$: 


21 000032 


110267 


0000006 




22 000036 








23 000042 


103760 






24 000044 


012702 


OOOOOOG 




25 000050 


005712 






26 000052 


001013 






27 000054 


012701 


0001 02G 




28 000060 


012122 






29 000062 


012122 






30 000064 


012122 






3t 000066 


016122 


000024 




32 000072 


016122 


000026 




33 000076 

34 

35 000102 












1SS: 


36 000102 


012701 


OOOOOOG 




37 000106 


005067 


OOOOOOG 




38 000112 


000416 






39 








40 








41 








42 000114 


112767 


\7nn 0000006 finsml 


43 000122 


116701 


0000126 




44 000126 


003407 






45 000130 


005001 




20t! 


46 000132 








47 000142 


103001 






48 000144 


005101 






49 000146 


005000 




30$: 


50 000150 


110167 


0000126 


40$: 


51 000154 


005700 






52 000156 








55 









54 
S 



BLT 
BNE 

novB 

BEQ 
B6T 

MOV 

DEC 

MOVB 

CALL 

BCS 

MOV 

TST 

BNE 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

CALL 



MOV 
CLR 
BR 



:MOVB 
MOVB 
BLE 
CLR 

CLOSE$ 
BCC 
COM 
CLR 
MOVB 
TST 
RETURN 



30$ 

10$ 

L1BNUM,R2 

30$ 

12$ 

$LSCNTtLIBLST 

R2 

R2,LIBNUM 

OPNLIB 

INISML 

«SYMB0L.R2 

(R2) 

15$ 

»SMLFDB«F.FNB 

(R1>t.<R2)» 

(R1)t,(R2>» 

(R1)+,(R2)» 

N.DVNM-<N.FID 

N.UN1T-<N.FI0 

INSERT 



#I0.0PN.R1 

ENDFL6 

40$ 



.•♦♦007 LEAVE IF FILE ERROR 

.•♦♦007 BRANCH IF FILE IS OPEN 

.'♦♦013 GET LIBRARY NUMBER 

;^^007 LEAVE IF NONE LEFT 

.•♦♦007 SKIP IF IN MIDDLE OF SEARCH 
.R2 ;^^021 1ST TIME— GET LAST FILE NUMBER 

;^^010 DECREMENT LIBRARY NUMBER 

.•♦♦013 AND STORE IT 

.•♦♦010 OPEN THE DESIRED MACRO LIBRARY 

;^^010 ERROR— TRY TO OPEN NEXT ONE 

.•♦♦021 6ET ADDR OF SYMBOL AREA 

.•♦♦021 CHECK THE FILE ID 

.•♦♦021 IF NE IT IS ALREADY KNOWN 
♦N.FI0.R1 ••♦♦021 ELSE, POINT R1 INTO FDB 

.•♦♦021 TRANSFER FILE ID INTO SYMBOL AREA 

.•♦♦021 

.•♦♦021 

♦6>(R1>.(R2)^ .•♦♦021 COPY DEVICE NAME 
♦6><R1).(R2)^ .•♦♦021 AND UNIT NUMBER, TOO 

.•♦♦021 REPLACE ENTRY IN LIBRARY FILE ... 

:^^021 INFORMATION LIST 

.•♦♦021 

.•♦♦007 SPECIFY FILE OPEN STATUS 

.•♦♦007 CLEAR PENDING END-OF-FILE STATUS 

.•♦♦007 LEAVE WITH SUCCESSFUL RETURN STATUS 



«-1,LlBNUM ,•♦♦013 SET CURRENT LIBRARY » NEGATIVE 

lOFTBL^SMLCHN.RI ^♦♦OU PUT FILE STATUS IN R1 
30$ .•♦♦007 LEAVE IF FILE CLOSED OR IN ERROR 

R1 ;^^007 SPECIFY FILE CLOSED STATUS 

#SMLFD6 .•♦♦007 CLOSE CURRENT LIBRARY FILE 

30* .•♦♦007 O.K. — LEAVE 

HI ;^^007 ERROR — SET FILE ERROR STATUS 

RO ,•♦♦007 SET RETURN STATUS TO FILE NOT OPEN 

RI.IOFTBL^SMLCHN ,•♦♦014 STORE FILE STATUS 
RO ;t^007 SET RETURN STATUS 

,•♦♦007 



.DSABL LSB 



{♦♦007 



♦ ♦013 

♦♦-0PNL18— OPEN FILE FROM INFO IN 'LIBLST' 

INPUTS I 
; R2'L1ST ENTRY NUMBER 

; OUTPUTS: 

RO»ADDRESS OF FDB USED IN FILE OPEN 



•••♦ N 12 •♦•* 



NLIBS MACRO M1108 U-OEC-77 09:5A PAGE 4-3 



8 

74 



000160 
000164 
000170 
000174 
000200 
000202 
000204 
000210 
000212 
000216 
. 000222 
86 000224 
187 000226 

88 000230 

89 000234 
190 



76 
77 
78 
79 
80 
81 
82 
83 
84 
85 



}240 
)244 



206 000270 
)7 



21 

214 0003W 



II 



012704 
005067 
012700 

005302 
002372 
016400 
010001 
062701 
012702 
012221 
012221 
012221 
012261 
012261 



005760 
001011 
162701 
012702 



103414 



000001 



000012 

0C(^000G 

OOOOOOG 



OOOOOOG 

000102 
OOOOOOG 



000024 
000026 



000102 

0OQQQ6 

000036' 

000000' 



.—013 

OPNLIB: 

II: 



101: 



R1-R4«L0iT 



MOV fSMLCHN,R4 

CLR $LSPNT 

MOV «LIBLST,RO 

CALL NEXT 

DEC R2 

BGE IS 

MOV FD6TBL(R4),R0 

MOV R0.R1 

ADD «F.rM9«N.FID,R1 

MOV «SyMB0L,R2 

MOV (R2)*,(R1)* 

MOV (R2)*.(R1)* 

MOV (R2)t,(R1)t 

MOV (R2)t,N.DVNM-<N.r 

MOV (R2)».N.UNIT-<N.F 



»021 GFT MACRO LIBRARY SOFTWARE CHAN H 

♦021 IMT POINTER TO START OF LIST 

♦021 PUT Li SI NUMBER IN RO 

♦021 RETRIEVE NEXT ENTRY 

♦021 DECREMENT LIBRARY NUMBER 

♦021 IF GE NOT THE DESIRED ONE 

♦014 PUT ADDR OF PROPER FD6 "J RO 

♦013 COPY IT INTO R1 

♦013 PNT R1 TO FILE ID IN THE FDB 

♦021 POINT TO SYMBOL AREA 

♦021 MOVE FILE ID INTO FDB 

♦021 

♦021 

ID^AXRD ;+»021 MOVE DEVICE NAME 
ID^6>(R1) .'♦♦021 AND UNIT NUMBER 



.IF NDF RSX11M 

OPENtR 
.IFF 



T8T 

BNE 

SUt> 

MOV 

MOV 

CALL 

BCS 

OFNBIR 



.ENDC 



F.FNB^N.FID(RO) 

idi 

«N.FID^6.R1 
#SMLDS.R2 
IVSMLNAM.RS 
.PARSE 



.•♦♦014 

;^^013 OPEN THE FILE FOR READ 

••♦♦014 

.•♦♦014 OOK FOR A FILE ID 

;^^5l4 SKIP IF ONE IS THERE 

.•♦♦014 ELSE. POINT R1 TO FILENAME BLOCK 

;^^014 POINT R2 TO DATASET DESCRIPTOR 

.•♦♦014 POINT R3 TO DEFAULT FNB 

.•♦♦014 PARSE THE FILENAME 

;^^014 SKIP ON ERROR 

{♦♦014 OPEN FOR READ (VIA FILENAME BLK) 



;^^014 (RSX11M) 



103406 


BCS 


112764 OOOOOOG OOOOOOG 


MOVB 




FDATtR 


21: 






RETURN 



2t ,•♦♦013 SKIP ON OPEN FAILURE 

#10.0PN,I0FTBL(R4) {♦♦OU SET FILE OPEN STATUS 

RO.#R.VAR .•♦♦018 SET VARIABLE LENGTH RECORDS ATTRIBUTE 



.'♦♦oij 

i::8!l 



,•♦♦007 



.IND 



**** I IS **** 



ML IBS MACRO Ml 108 
SYMBOL TABLE 



U-DEC-77 09:5A PAGE «-« 



BINCHNs 

BPMB B 

CMOCHN> 

CPL « 

ENOFLG' 

FDBTBL< 

FINSML 

FO.RO « 

F.ACTL= 

F.ALOCs 

F.BBFSs 

F.BOB ' 

F.BGBC" 

F.BKDN> 

F .BKOS> 

F.BICEF« 

F.BKP1* 

F.BICST« 

F.BKVB> 

F.CHR « 

F.CNTG' 



.bFNB> 
.DSPT« 
.DVNM« 
.EFBK> 
.EFN « 



F.EOBB" 
. ABS. 



000006 

000020 

000000 

000120 

****** GX 

****** GX 

0001 URG 

****** GX 

000076 

000040 

000062 

000070 

000057 

000026 

000020 

000050 

000051 

00002A 

000064 

000075 

00003A 

000046 

000044 

000134 

000010 

000050 

000032 



000000 
000000 
SMLFDB 000140 
DPURE 000060 
PUREl 000322 
ERRORS DETECTED: 



F.ERR = 
F.FACC= 
F.FFBY= 
F.FNAH- 
F.FNB - 
F.FTYps 
004 F.FVER" 
F.HIBK* 
F.LUN « 
F.MBCT» 
F.MBCIb 
F.MBFG« 
F.NRBD' 
F.NREC' 
F.OVBS^ 
F.RACC« 
F.RATT« 
F.RCNM" 
F.RCTL" 
F.RSIZ" 
F.RTYP« 
F.SEQN> 
F.SPDV- 
F.SPUN« 
F.STBK- 
F.UNIT= 
F.URBD» 

000 
001 
002 
003 
004 



00005Z 
000043 
000014 
000110 
000102 
000116 
000120 
000004 
000042 
000054 
000055 
000056 
000024 
000030 
000030 
000016 
000001 
000034 
000017 
000002 
000000 
000100 
000072 
000074 
000036 
000136 
000020 



F.VBN = 

F.VBSZ= 

ILVL = 

INISML 

INSERTS 

I0FTBL« 

lO.OPN* 

LIBLST' 

LIBNUMs 

LINBUF* 

LINLEN> 

LPP « 

LSTCHN" 

LSTLEN* 

MAXCHN> 

NEXT > 

NUISEC* 

N.DID > 

N.DVNM* 

N.FID ■ 

N.FNAM> 

N.FTYP" 

N.FVER« 

N.NEXT- 

N.STAT" 

N.UNIT* 

OBJLEN> 



000064 
000060 
000001 
000004RG 



****** 
****** 
****** 
****** 
****** 
****** 

000204 
000074 
000004 
000204 
000014 
****** 

000004 
000024 
000032 
000000 
000006 
00001 4 
000016 
000022 
000020 
000034 
000052 



GX 
GX 
GX 
GX 
GX 
GX 



GX 



VIRTUAL MEMORY USED: 2984 WORDS ( 12 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGtS) 
ELAPSED TIME: 00:00:23 

MLIBS.C30,30]ML1BS/-SP«C30,10]RSXPAR,MPARAM,MCIOCH,ML1BS 
S X 



OPNLIB 

PARS$t>r 

RELCHN« 
004 RLDLEN« 
RSXilMs 
RUIIMc 
R.VAR « 
SMLCHN" 
SMLDR 
SMLDRE 
'.MLDS 
SMLFDBb 
SMLLEN> 
SMLNAM 
SRCCHN> 
SRCLEN> 
STLLEN« 
SUBMAC' 
SYMBOL* 
S.FATT» 
S.FDB « 
S.FNAM> 
S.FNB « 
S.FNBW" 
S.FNTY« 
S.FTYPs 
S.NFEN- 



0001 60R 

000000 

000010 

000052 

000000 

000000 

****** GX 

000012 

000052R 

00005 7R 

000036R 

****** GX 

000120 

OOOOOOR 

000002 

000204 

000100 

000001 

****** 

000016 
000140 
000006 
000036 
000017 
000004 
000002 
000020 



GX 



004 TMPCNTs 

TTLLENe 

XBSRCHs 

XCREF = 

XEDABS> 

XEDCDR* 

XEDCRF* 

XEDFPT= 

003 XEDLC « 

003 XEDPlCx 

003 XEDPNCs 

XFLTG = 

XOPEXP* 

003 XRGERR' 

XSUBD - 

XZERR » 

X45 « 

YQCMO s 

$LSCNT« 

$LSPNT« 

.CLOSE" 

.OPFNB" 

.PARSE" 

..PCI" 

..PC2" 

..PC3" 

..TPC" 



000014 

000040 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 
***** GX 
***** GX 
***** G 
***** G 
***** GX 

OOOOOOR 

00001 4R 

OOOOOOR 

000140 



002 
003 
002 



*••• c IS **** 




*«*« D IS **** 



ftA_«« AA. BA AAJIB % 



MPUSH MACRO Ml 108 1A-DEC-77 09:5« PAGE 2 



.TITLE MPUSH 
.IDENT /02/ 



43 000000 
4A 



51 000000 004767 OOOOOOG 

52 000004 005742 
512704 OOOOOOG 
511422 

95024 

?27Q4 OOOOOOG 



53 000006 

54 000012 

55 000014 




COPYRIGHT (C) 1972,1 ?76 

DIGITAL EQUIPMENT CORPORATION, MAYNARO, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 02 
B. BOWER I NG 

MODIFIED BY: 



D.N. CUTLER 6-FE8-73 

H.A. NICHOLS 18-JUN-74 

C.A. D'ELIA 01-AUG-74 

C.A. D'ELIA 20-OCT-75 

C.A. D'ELIA 05-SEP-76 



017 
017 
021 
026 



<VIRT MEMORY) 
(KEYWORD MACROS IN 8K) 



.IF NDF X.MACRO 



PURE PURE I, I 



.•♦♦017 



;♦ 



•*-MPUSH-SAVE CURRENT MACRO CONTEXT 



MPUSH: I 



loot: 



CALL 

TST 

MOV 

MOV 

CLR 

CMP 

BNE 



GETBLK 

-(R2) 

«MSBBLK.R4 

(R4).(R2)^ 

(R4)^ 

#MSBEND.R4 

iocs 



♦♦017 GET A STORAGE BLOCK 

POINT TO START 

♦♦021 GET AODR OF MACRO CONTEXT AREA 

♦♦021 COPY CURRENT CONTEXT INTO SAVE BLK 

♦♦021 WHILE CLEARING MACRO CONTEXT AREA 

♦♦021 REPEAT FOR ENTIRE CONTEXT 

♦ ♦021 



•t** E IS *««• 



Uft,>&#\ M4«AA 



«i-K>r_iv na.ci. akKC 3.1 



MPUSH MACRO M1108 H-DEC-77 09:54 


58 00002A 


012702 


OOOOOOG 


59 000050 


010522 




60 000032 


010122 




61 00003A 


004767 


OOOOOOG 


62 OOOOAO 


005267 


OOOOOOG 


63 OOOOAA 


000207 




6A 







000001 



PAGE 2-1 






MOV 

MOV 

MOV 

CALL 

INC 

RETURN 


»MSBBLK,R2 

R5,(R2)* 

R1.(R2)t 

$UNLP6 

MACLVL 


;+*021 GET AODR OF MACRO CONTEXT AREA 

;STC'»E CURRENT MACRO TYPE INDICATOR 

;*»0.1 SAVE VIRT LOCN OF CONTEXT SAVE BLK 

.•♦♦021 UNLOCK ITS PAGE 

;BUMP LEVEL COUNT 

.•RETURN WITH R2 POINTING AT MSBTXT 


.ENDC 






.END 







•**• f 13 **** 



(i«u Mirnn mhoh u-nFr>77 0Q!54 pagf 2-2 



MPUSH 


MACRO Ml 108 U 


-OEC-77 09:5A PAGE 2-2 


SYMBOL 


TABLE 






GETBLK« 


****** GX 


MSBEND= 


****** GX 


ILVL = 


000001 


^JU»SEC= 


OOOOOA 


MACLVL= 


****** GX 


RSXilMr 


000000 


MPUSH 


OOOOOORG 002 RttllMc 


000000 


nSBBLIC: 


****** GX 


SUBMAC^ 


000001 


. ABS. 


000000 000 
000000 001 






PURE I 


0000A6 002 






ERRORS DETECTED: 






VIRTUAL MEMORY USED: 266 WORDS 


( 2 PAGES) 


DYNAMIC MEMORY: 157AA WORDS ( 


60 PAGES) 


ELAPSED 


TIME: 00:00:04 






MPUSH.C30.30]MPUSH/-SP« 


C30,103RSXPAR.MPUSH 


;T 









XBSRCH= 000000 
XCREF = 000000 
XEDABSs 000000 
XEDCDR:: 000000 
XEDFPT= 000000 



XEDLC = 000000 
XEDPIC- 000000 
XEDPNC= 000000 
XfLTG = 000000 
XOPEXi - 000000 



XRGERR= 000000 
XSUBD = 000000 
X2ERR = 000000 
X«5 = 000000 
$UNLP6= ****** GX 



•*•• Q IS **** 




•*«* H ^3 tttt 



I iterrik 



MArDn Mima yLmHtr^r? oOiS^ pagf & 



MSCDR MACRO Ml 108 1A-DEC-77 09:55 PAGE 6 



' 
' 

' 



: 



I 



.TITLE 
. I DENT 



MSCDR 
/11.02/ 



COPYRIGHT (C) 1972,1977 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 11.02 
B. B0WERIN6 

MODIFIED BY: 



• *• 



D.N. CUTLER 6-FEB-73 



C.A. 


D'ELIA 


C.A. 


D'ELIA 


C.A. 


D'ELIA 


C.A. 


D'ELIA 


C.A. 


D'ELIA 


H.A. 


NICHOLS 


C.A. 


D'ELIA 


C.A. 


D'ELIA 


C.A. 


D'ELIA 


C.A. 


D'ELIA 



22-SEP-73 

15-NOV-73 
28-JAN-7A 
22-MAR-7* 
07-APR-7A 
18-JUN-74 
01-AUG-7A 
51-UEC-7<i 
30-APR-75 
01-NOV-7^ 



002 
008 
012 
OU 
015 
017 
017 
018 
019 
022 



(CREF) 



C.A. D'ELIA 16-NOV-77 

CD049 — MORE OUTPl<T FILE HANLDING WORK. 

C.A. D'lLlA 22-NOV-77 

CD051 - MISC (.SBTTL. /PA. .BLKW. CMD LINE) 



•GLOBL -GLOBAL REFFR(NCF OR DEFINITION 
•END-END OF ASSEMBLY 



.IF DF RSX11M 1**0)7 



■MMiA mkrmn mwnm ii,.Atr.7y ftOit* »kCt Km\ 



WSCDR MACRO Ml 108 1A-0EC-77 09:55 PAGE 6-1 



71 



67 

68 000000 

69 

70 000000 
OOOOOA 
000006 
000012 

74 000020 

75 000022 

76 000050 
V 000036 

78 000042 

79 000042 

80 000044 

81 000052 

82 000054 
83 

84 

85 000056 

86 000062 

87 000066 

88 000070 

89 000074 

90 000100 

91 000102 

92 000104 

93 000110 

94 000114 

95 000120 

96 000124 

97 000130 

98 000134 
99 




001423 

032767 000001 OOOOOOG 

001011 

042767 000020 OOOOOOG 

052767 000100 OOOOOOG 



GLOBL: 



000756 

000752 
000207 



016746 
056726 
001402 
000167 

001001 
005214 



OOOOOOG 
OOOOOOG 

OOOOOOG 



005267 OOOOOOG 



21: 
3t: 

END: I 

lOt: 
IS: 



012701 
012702 
000167 



OOOOOOG 
OOOOOOG 
OOOOOOG 



.nCALL FDBFSR.OFNBSA, CLOSES :**0^7 
.ENOC ;»t014 



PURE 

.IF NDF 

GSARG 

BEQ 

SSRCH 

BIT 

BNE 

BIC 

BIS 

INSERT 

CRFREF 

BR 

ERROR 

BR 

RETURN 

.ENDC 

NOV 

BIS 

BCO 

JNP 

ENPR 

BNE 

INC 

RELTST 

INC 

SET INN 

SETPF1 

MOV 

MOV 

JMP 



PUREI.I 
XREL 

3S 

«REGFLG. FLAGS 
2% 

fDFGFLG. FLAGS 
*GLBFLG. FLAGS 



GLOBL 

R 

GLOBL 



CNOLVL,-(SP) 
MACLVL.(SP)» 

lot 

OPCERR 

II 
(R4) 

ENDFLG 



«SYMB0L.R1 
«EN0VEC.R2 
XMIT4 



•*>SETHOR-SET PAGE HEADER 
»*-TITLE-SET PR06RW1 TITLE 
••-SBTTL-SUB TITLE 
••-PRINT-MESSAGE 
••-ERROR-ERROR MESSAGE 
••-REM-REMARKS 



012767 



001004 



000000' OOOOOOG SEIHORiiNOV 

SETCMR 
TITLE:: GETSfM 
BNE 
ERROR 



«DEFTTL,CHRPNT 



It 

A 



♦ ♦017 

GET SYMBOLIC ARGUMENT 

END 
NO. SEARCH USER SYMBOL TABLE 
REGISTER? 

YES ERROR 
CLEAr'dEFAULT GLOBAL FLAG BIT 
NO, FLAG AS GLOBL 
UPDATE/INSERT 

♦ ♦022 



♦•002 TEST TO SEE IF USER IS IN EITHER ... 

♦♦002 ... A MACRO EXPANSION OR A CONDITIONAL 

♦♦002 IF NOT. CONTINUE 

♦♦002 ELSE. DECLARE AN OPCODE ERROR 

♦♦002 EVALUATE TRANSFER EXPRESSION 

BRANCH IF NON-NULL 
NULL, MAKE I T A ONE 
NO GLOBALS ALLOWED 

;F1LL QUI BLOCK 
;LIST FIELD 1 



;MOVE TO END VECTOR 



POINT TO DEFAULT HEADING 
MAKE IT LOOK LIKE THf REAL 
GET SYMBOL 
ERROR IF NULL 



THING 



•••• 



TTT 



*••• 



iMrhB BArBD HIinB U.h»r-77 D9'.SS PkOt i-i 



1 



MSCDR MACRO Ml 108 U-DEC-77 09:55 PAGE 6-2 



15 
16 
17 
18 
19 
20 
121 
22 
25 
124 
25 
26 
27 
28 
29 
30 
31 
32 
33 
134 
35 
36 
37 
38 
39 

14.0 
14.1 
142 
143 
144 
000003 
000006 
45 



000166 
000170 
000174 
000202 
000206 
000212 
000216 
000220 
000222 
000224 
000230 
000232 
000236 
000240 
000244 
000246 
000250 
000254 
000256 
000262 
000266 

000272 
000276 

000302 
000306 

000310 
000000 

111 

000 
000007 



000362 
000366 



000370 
000374 



000207 
010067 
016767 
004767 
012702 
112722 
005003 
110512 
001415 
020527 
001002 
052703 
005203 
020327 
103001 
105722 

001361 
112722 
012701 



012701 



010267 
000207 



056 
116 



005767 

ooun 

110522 
001535 

m? 

)1122 
105767 
001517 
005767 
002514 



105767 
001012 



OOOOOOC IS: 

000002G 000002G 

OOOOOOG 

OOOOOOG 

000014 



000011 
000007 
000040 



000011 
OOOOOOC 



OOOOOOG 
OOOOOOG 



2$: 

3t: 

4t: 
5»: 



115 101 DEfTTLi 
056 



OOOOOOC 
OOOOOOC 



0000770 



StTTL: 
II: 



OOOOOOG OOOOOOG 21: 

OOOOOOG 

OOOOOOG 



000004G 



RETURN 

nov 

WV 

CALL 

MOV 

Move 

CLR 

Move 

BEQ 
CMP 
BNE 
BIS 

INC 

CMP 

BHIS 

TSTB 

GETCHR 



Move 

MOV 

MOVBVT 

.IF NOF 

MOV 

MOVBYT 

.ENDC 

MOV 

RETURN 



RO.PRGTTL 

SYMBOL ♦P.PRGT 

SETSYM 

#TTLBUf.R2 

*FF.(R2)* 

R3 

R5.(R2) 

5$ 

R5.«TAB 

3t 

#7.R3 

R3 

R3.*TTLLEN 

4S 

(R2)« 

2S 

«T/«,(R2)t 
tHDRTTL.RI 

KTIME 
«DATTIN,R1 



R2.TTLBRK 



:MDVE INTO STORAGE 

.•POINT TO START OF TITLE 

.'POINT TO BUFFER 

.-STORE PAGE EJECT 

;CLEAR POSITION CONTER 

;PLUNK THE NEXT CHAR IN THE BUFFER 

.'BRANCH IF END 

;A TAB? 

; NO 

.YES, COMPENSATE 

.UPDATE POSITION COUNTER 

.■WITHIN BOUNDS? 

; NO 

.YES. MOVE POINTER 

.-GET THE NEXT CHARACTER 

.LOOP IF NOT END 

.SET SEPARATOR 

.'SET VERSION NUMBER. ETC. 



.DATE AND TIME 
.REMEMBER BREAK POINT 



PURE TXTBYT.D 
.ASCIZ /.MIN./ 



PURE PURE I . I 



;»»017 
.'DEFAULT TITLE 



.•♦♦017 



MOV 

TST 

BEO 

MOVB 

BEO 

GETCHR 

CMP 

BLO 

TSTB 

BR 

BIT 

BNE 

TSTB 

BEQ 

TST 

BLT 



«STLBUF .R2 

PASS 

?t 

RS.(R2)^ 

13i 



.POINT TO SUBTITLE BUFFER 
;PASS ONE? 
; YES 

.'MOVE CHARACTER IN 
; BRANCH IF END 
.'GET THE NEXT CHARACTER 
R2.tSTLBUf^STLLEN-1 .TEST FOR END 

-<R2) ;P0L1SH OFF LINE 

fLC.TOC.LCMASK 

ISI 

ISTDEV 
131 



LCLVL 



.ANY LISTING DEVICE? 
NO. EXIT 



^♦♦0l| CHECK LISTING CONTROL LEVEL 
.♦♦012 Lf 



LEAVE IF LEVEL IS 'NOLISf 



.IF DF RSN11M 1**0)7 
TSTB 



|OFTBl»LSriHN .IS LISTING fILf CLOMD' 
lOOl ;1F NC NO - NO NEED TO RE 



OPEN 



C0049 
CD049 



•••• R U •••• 



m»fftm HAran miim 1i.-tt»r-r/ noKK PktJ k-\ 



«SCO« MACRO mi08 U-OEC-77 09:55 PAGE 6-3 



170 000376 

171 000402 

172 000410 

173 000422 
17A 

175 
176 
177 

178 000422 

179 000426 

180 000432 

181 C:0436 

182 000442 

183 000444 

184 000450 

185 000454 
186 

187 

]n 

190 000460 

191 000464 

192 000470 
193 

194 
195 
196 

197 000474 

198 000500 

199 000504 

200 000510 
201 



204 
205 

206 000516 

207 000522 

210 000532 

211 000536 

212 000540 
215 000542 

m 000556 




016700 000004G 



012701 

004767 

003375 
004767 
016702 
112742 



016700 
004767 
112742 



016700 
004767 
112742 



105767 
001015 
016700 
010001 
062701 
012U6 
012146 
012146 

012641 
012641 
012641 



m 



loot: 



000007' 
OOOOOOG 



OOOOOOG 
OOOOOOG 
000011 



OOOOOOG 

000070 

000055 



OOOOOOG 

000054 

000040 



3t: 



000004G 
000004G 
OOOOOOC 



05 
140 



200t: 



l?l:. 



MOV 
FDBFSR 

OFNBSA 



.ENOC 



FDBTBL^LSTCHN.RO .-♦♦017 PUT LISTING FILE FDB ADDR IN RO 
RO..fLSTVZ .•♦♦017 OVERRIDE DEVICE BUFFER SIZE 

RO .•♦♦017 RE-OPEN LISTING FILE 



;^^014 



SET TABLE OF CONTENTS 

POINT TO ".SBTTL" 

GET RAOIX-50 CHAR 

STOP AT FIRST TERMINATOR 

♦♦019 SKIP TO FIRST NON-BLANK CHAR 

SET POINTER 

♦♦019 INSERT A TAB FOR READABILITY 



; CD049 



MOV 


fTOCTKT.RI 


MOVBYT 




CALL 


SETSVM 


GETRSO 




BGT 


3$ 


CALL 


SETNB 


MOV 


CHRPNT.R2 


MOVB 


«TAB.-(R2) 


.IF NDF 


Xi.CSEO 



MOV LINNUM.RO 

CALL 101 

MOVB «CH.SUB.-(R2) 

.ENDC 



MOV 


PAGMf^.RO 


CALL 


101 


MOVB 


f SPACE, -(R2) 


PUTLP 


R2 



.IF DF RSX11M 



.•OUTPUT 



.'♦♦017 



TSTB 


lOFTBL^LSTCHN 


;IS LISTING FILE KEPT CLOSED? 


BNE 


200t 


;IF NE NO 


MOV 


FDBTBL^LSTCHN.RO 


.•♦♦017 PUT LISTING FILE FOB 


MOV 


R0.R1 


.•♦♦017 POINT R1 TO THE ... 


ADD 


«F.FNB^N.FID.R1 


;^^017 ... FILE ID 
.•♦♦014 SAVE ... 


MOV 


(Rn^,-(SP) 


MOV 


(RI)^.-(SP) 


.•♦♦014 ... THE ... 


MOV 


(R1)^,-(SP) 


.•♦♦014 ... FILE ID 


CLOSES 


RO 


;^^017 CLOSE THE LISTING FRf 
.•♦♦014 RESTORE ... 


MOV 


(SP)^,-(R1) 


MOV 


(SP)^.-(RI) 


;^^014 ... THE ... 


MOV 


(SP)^, (RD 


;^^014 ... FILE ID 


.ENDC 




.•♦♦017 


RETURN 
MOV 


/»5,R4 


; ALLOW A 5 DIGIT LINE NUMBER 


MOVB 


«SPACE.-'R2) 





ADDR IN RO 



CD049 
CD049 



; CD049 



; fD051 
i..-1 



tt** I tS **•* 



M«CM MACRO Mil Oil U-0rr-'7 09:^5 PA0F6-4 



1 



MSCOR tUCRO Hn08 U-OEC-77 09:55 PAGE 6-A 



000570 
000572 
00057A 
000576 
000606 
000612 
0006U 
000620 

000622 
000007 
1U 
117 
103 
12A 
12A 
000051 



000622 
000630 
000632 
0006A0 
000644 
000650 
000652 
000656 



^ 



010001 
00U10 
005000 

062701 
110112 

000207 



124 
105 
106 
117 
105 
123 



000403 

001402 
000207 



000060 



101 
040 
040 
116 
116 
000 



12$: 
13$: 



102 TOCTKT; 



000001 



MOV R0.R1 

BEQ 12$ 

CLR RO 

OIV #*D10.R0 

ADD *DIG.0,R1 

MOVB R1.(R2) 

SOB R4.11$ 
RETURN 

PURE TXTSrT.D .•♦♦017 

.ASCIZ /TABLE OF CONTENTS/ 



PURE PUREM 



.END 



.•♦♦017 





.ENABL 


LSB 




PRINT: 


: ERROR 


<> 


NULL ERROR (DON'T COUNT) 




BR 


1$ 




ERROR: 


: ERROR 


P 




1$: 


SETPfO 




PRINT LOCATION FIELD 




EXPR 




EVALUATE EXPRESSION 




BEQ 


2$ 


BRANCH IF NULL 




SETPF1 




NON-NULL, LIST VALUE 


2$: 


RETUTN 








.DSAdL 


LSB 






.IF NDF 


XSUBD 


♦ ♦018 


REM:: 


MOV 


R5.R3 


SET TERMINATING CHARACTER 




BNE 


1$ 


BRANCH IF NON-NULL 




ERROR 


A 


ERROR, NO DELIMITING CHARACTER 




RETURN 






It: 


CETCHR 




GET THE NEXT CHARACTER 


2$: 


TST 


R5 


END OF LINE? 




BNE 


3$ 


NO 




CALL 


ENDLIN 


YES, POLISH OFF LINE 




INC 


6ETFLG 


INHIBIT FILE CROSSING 




CALL 


GETLIN 


GET NEXT LINE 




DEC 


GETFLG 


ENABLE FILE CR SING 




TST 


RO 


•TEST GETLIN RETURN STATUS 




BEQ 


2$ 


LOOP IF NO EOF 




RETURN 




EOF, EXIT 


3$: 


CMP 


R5.R3 


IS THIS THE TERMINATOR? 




BNE 


1t 


NO 




JMP 


GETNB 


YES, BYPASS AND EXIT 

♦♦018 (XSUBD — SUBSET DIRECTIVES) 




.ENDC 





•«** 



TTT 



*•«• 



M&CM MACRO Ml 108 U-DEC-77 09:55 PAGF 6-5 



MSCOR MACRO Ml 108 U-OEC-77 09:55 PAGE 


6-5 








SYMBOL TABLE 














AM.DECc OOOOAO 


CPL = 


000120 


FF 


000014 




LSTLEN- 


AM.OEF= 000010 


CPXADD= 


000001 


FLAGS - 


****** 


GX 


LST.KB- 


AM.1MM« 000027 


CPXANO= 


000005 


FO.APDs 




GX 


LST.lPe 


AM.INC= 000020 


CPXCOM= 


000011 


F.FACC= 




GX 


MACLVL= 


AM.NDX> 000060 


CPXCON= 


000020 


F.FNB « 




GX 


MAXCHN- 


AH.PC = 000007 


CPXDIV= 


000004 


F.OVBS' 




GX 


MDFFLG- 


AM.REL« 000067 


CPXFL6» 


000200 


6ETCHR= 




GX 


NOVBYT- 


ASTFLGs 0001 U 


CPXGLBs 


000016 


GETR50* 




GX 


NUtSEC- 


BINCHN» 000006 


CPXIOR" 


000006 


GETSVM« 


****** 


GX 


N.FID « 


BLKT01* 000001 


CPXMULs 


000003 


GLBFL6» 


000100 




OBJLEN- 


BLKT02> 000002 


CPXNEG= 


000010 


GLOBL 


OOOOOORG 


002 OPCERR- 


BLKT03» 000003 


CPXOPCs 


000010 


GSARG > 


****** 


GX 


PAGNUM* 


BLKT04* 000004 


CPXREL« 


000017 


GSDTOO> 


000000 




PARttS- 


BLKT05« 000005 


CPXSDS« 


000013 


GSDTOIs 


000400 




PASS ' 


BLKT06« 0OC0O6 


CPXSTO» 


000012 


GSDT02> 


001000 




PRGTTL- 


BPMB * 000020 


CPXSUB« 


000002 


GSDT03' 


001400 




PRINT 


CHRPNT" *•♦♦•« GX 


CR 


000015 


GSDT04« 


002000 




PSTFLG- 


CH.ADDo 000053 


CSTACC« 


000020 


GSDT05« 


002400 




PUTLP « 


CH.ANO* 0OO0A6 


CSTALO- 


000004 


GSDT06« 


003000 




REGFLG- 


CH.BSL- 0001 y. 


CSTFLG« 


000050 


HDRTTL« 


****** 


GX 


REI.CHN* 


CH.COLx 000072 


CSTGBL' 


000100 


ILVL « 


000001 




RELFLG- 


CH.COM- 000054 


CSTMEM« 000001 


INSERT- 


****** 


GX 


RELTST- 


CH.DIV- 000057 


CSTREL» 


000040 


lOFTBL* 


****** 


GX 


RLDLEN- 


CH.DOL- 0OOOA4 


CSTTYP" 


000200 


LBLFLG- 


000002 




RLDTOO- 


CH.0OT- 000056 


DATTIM« 


****** GX 


LCLVL « 


****** 


GX 


RLDT01- 


CH.EQU" 000075 


DEFFLG- 


000010 


LCMASK- 




GX 


RLDT02- 


CH.HSH* 000043 


DEFTTL 


OOOOOOR 


003 LC.TOC- 


****** 


GX 


RLDT03* 


CH.INO« 000100 


DFGFLG> 


000020 


LET. A ' 


000101 




RLDT04- 


CH.I0R« 000041 


DIG.O ' 


000060 


LET.B > 


000102 




RLDT05S 


CH.LAB« 000074 


DIG.9 « 


000071 


LET.C « 


000103 




RLDT06> 


CM. LP « 000050 


DIV « 


****** G 


LET.D « 


000104 




RLDT07* 


CH.MUL' 000052 


END 


000056RG 


002 LET.E « 


000105 




RLDT10* 


CH.PCT- 000045 


EN0FL6« 


****** GX 


LET.F « 


000106 




RL0T11« 


CM.OM » 000077 


ENOVEC- 


****** GX 


LET.G > 


000107 




RLDT15> 


CM.OTM* 000042 


ERR6TS> 


****** GX 


LET,0 « 


0001 1 7 




RLDT16* 


CH.RAB- 000076 

dt 1 A ^K^K d^ Jb d& ^b M A 


ERROR 


000632RG 


002 LET.Z . 


000132 




RLDT17- 


CH.RP » 000051 


ERR. * 


****** GX 


LF 


000012 




RSX11M' 


CH.SMC« 000073 

■k a > ^ < ^^ dh dk «k ^k te Ob 


ERR. A * 


****** GX 


IINLEN- 


000204 




RU11M* 


CH.SUB* 000055 


ERR.P « 


****** GX 


t INNUM- 


****** 


GX 


SBTTL 


CH.UAR- 000136 


ERR.R > 


****** GX 


IPP H 


000074 




SETCHR: 


CH.XCL" 000047 

^ AA^h ^ A ■& A Jk ^k dk ^h «h dh 


EXPR « 


****** GX 


LSTCMN» 


000004 




SETHDR 


CMOCHN' 000000 
CNOIVL- •♦••*♦ GX 


FDBTBL> 


****** GX 


LSTDEV 


****** 


GX 


SET1MM= 


. ABS. 000000 000 














000000 001 














PURE I 000660 002 
TXTBrT 000031 003 














ERRORS DETECTED: 















VIRTUAL MEMORY USED: 4350 WORDS ( 17 PAGES) 
DYNAMIC MEMORY: 15?44 WORDS (60 PAGES) 
ELAPSED TIME: 00:00:51 

MSCOR,r50.30JMSCDR/-SP-[30JO]RSXPAR.MPARAM.MfIOCM,GFNMC.Fl6DF.MSrDR 



000204 


SETNB = 




GX 


000001 


SETPFO- 


****** 


GX 


000002 


SETPF1- 


****** 


GX 


****** GX 


SETSYM* 


****** 


GX 


000014 


SMLCHN- 


000012 




000004 


SMLLEN* 


000120 




****** GX 


SPACE * 


000040 




000004 


SRCCHN= 


000002 




****** GX 


SRCLEN- 


000204 




000052 


SSRCH « 


****** 


GX 


****** GX 


STLBUF* 


****** 


GX 


****** GX 


STLLEN- 


000100 




000000 


SUBNACc 


000001 




****** GX 


SYMBOL- 


****** 


GX 


****** GX 


TAB = 


000011 




000622RG 


002 TITLE 


0001 52RG 002 


000050 


TMPCNT- 


000014 




****** GX 


TOCTXT 


00000 7F 


1 003 


000001 


TTLBRK- 


****** 


GX 


000010 


TTLBUF- 


****** 


GX 


000040 


TTLLEN- 


000040 




****** GX 


VT 


000013 




000052 


XBSRCH- 


000000 




000000 


XCREF « 


000000 




000001 


XEDABS- 


000000 




000002 


XEDCDR- 


000000 




000003 


XEDCRF" 


000000 




000004 


XEDFPT- 


000000 




000005 


XEDLC « 


000000 




000006 


XEDPIC- 


000000 




000007 


XEDPNC= 


000000 




000010 


XFLTG - 


000000 




00001 1 


XMIT4 = 


****** 


GX 


000015 


XOPEXP= 


OOOO'iO 




000016 


XRGERRc 


000000 




000017 


XSUBD ^ 


000000 




000000 


XZERR = 


000000 




000000 


X45 = 


000000 




00051 ORG 


00? YQCMO « 


000000 




****** GX 


SLsrvz* 


****** 


GX 


OOOUORG 


002 .CLOSE' 




G 


*>**** GX 


.0PFN8= 




G 



••*• N IS •*•• 




«••• I \^ t««t 



NORCT MACRO Ml 108 U-OEC-77 09:55 PAGE <• 



4 
5 
6 
7 
8 
9 
10 
11 

]! 

H 
15 
16 
17 
18 
19 
20 
21 
22 



55 
36 

37 
38 

39 

40 
41 
42 

43 000000 

44 000000 

45 OOOQQO 



^mt 




004767 000134 
C04767 OOOOOOG 
001437 
005705 



301374 
504767 
900426 



OOOOOOG 



.TITLE NDRCT 
.IDENT /03/ 



COPYRIGHT (C) 1972,1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT rO'A USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. IITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOi BL^ CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 03 
B. BOWER I NG 

MODIFIED BY: 



D.N. CUTLER 10-FEB-73 

H.A. NICHOLS 18-JUN-74 

C.A. D'ELIA 01-AUG-74 

C.A. D'ELIA 20-OCT-75 



♦ ♦017 

017 

021 (VIRT MEMORY) 



**-NARG-NUMBER OF ARGUMENTS 
♦•-NCHR-NUMBER OF CHARACTERS 
••-NTYPE-TYPE OF EXPRESSION 



NCHR:: 

II: 
2S: 



PURE 

CALL 

CALL 

BEQ 

TST 

BEQ 

INC 

GETCHR 

BNE 

CALL 

BR 



PUREl.l 

NDAR6 
SMARG 

NTYPEX 
R5 

It 
RMARG 

NTYPEX 



♦♦017 

♦ ♦017 

♦♦017 GET (t CHECK) SYMBOLIC ARGUMENT 

ISOLATE ARGUMENT 

ZERO IF NULL 
QUICK TEST FOR COMPLETION 

YES 
BUMP COUNT 

GET THE NEXT CHARACTER 
LOOP IF NOT END 
REMOVE ARG DELIMITERS 



.IF NDF XMACRO 



.'♦♦017 



*«*• c u *•*• 



NDRCT MACRO Ml 108 U-DEC-77 09:55 PAGE A-1 



58 
59 

60 00003A 

61 00003A 
62 

63 OOOOAO 
(A 0000A4 
65 

66 0000A6 

67 000OA6 
68 

69 000052 

70 000056 

71 000062 

72 00006A 

73 000066 
7A 000072 

75 00007A 

76 0001 OA 

77 000106 
78 

79 
80 

81 000110 

82 0001 U 

83 000120 
8A 

85 
86 

87 0001 2A 

88 000130 

89 000132 

90 00013A 



004767 

016703 
000421 



004767 



012701 
012146 
012146 
004767 
010003 

012641 
012641 



005067 
010367 
000167 



005767 
001003 
005726 
000167 



96 000140 


004767 


97 000144 


001401 


98 000146 


000207 


99 000150 


005726 


100 000152 




101 000160 

^92 


000753 


i 


000001 



000064 
000002G 

000052 

OOOOOOG 

OOOOOOG 



NARG: 



NTYPE: 



CALL 

MOV 
BR 



OOOOOOG 
OOOOOOG 
OOOOOOG 



OOOOOOG 
OOOOOOG 

OOOOOOG 



CALL 

TSTARG 

MOV 

MOV 

MOV 

CALL 

MOV 

ZAP 

NOV 

MOV 

.IFTF 

NTYPEX: CLR 
MOV 
JMP 

.in 

MACTST: TST 
BNE 

TST 
JMP 



.ENDC 



.END 



MACTST 

MSBCNT*2.R3 
NTYPEX 



MACTST 



«SYMB0L,R1 

(R1)*,-(SP) 

(R1)+.-(SP) 

AEXP 

R0,R3 

COOLST 

(SP)*,-(R1) 

(SP)*.-(R1) 



MODE 

R3, VALUE 
ASGMTF 



MACLVL 
NDARG 
(SP)* 
OPCERR 



NDARG 


: CALL 


GSARG 




BEQ 


IDS 




RETURN 




101: 


TST 


(SP)* 




ERROR 


A 




BR 


NTYPEX 



.•♦♦017 

,•♦♦017 CHECK FOR MACRO EXPANSION AND ... 

,•♦♦017 ... GET (ft CHECK) SYMBOLIC ARGUMENT 

,•♦♦017 PUT ARGUMENT COUNT IN R3 

;^^017 LEAVE THROUGH COMMON CODE 

;^+017 

,•♦♦017 CHECK FOR MACRO EXPANSION AND ... 
,♦♦017 ... GET (K CHECK) SYMBOLIC ARGUMENT 
: BYPASS ANY COMMAS 

;PRESERVE SYMBOL 

; EVALUATE 

;SET RESULT 

,•♦♦021 EMPTY CODE LIST 

; RESTORE SYMBOL 



.•♦♦017 

; CLEAR MODE 

; AND SET VALUE 

;EXIT THROUGH ASSIGNMENT 

,•♦♦017 

.'♦♦017 ARE WE IN A MACRO EXPANSION? 
;^^017 YES. GET ARGUMENT 
,•♦♦017 NO, PURGE RETURN ADDRESS 
,•♦♦017 DECLARE OPCODE ERROR 



.•♦♦017 



.•♦♦017 GET SYMBOLIC ARGUMENT 

.♦♦017 ERROR IF NULL 

.•♦♦017 ELSE. CONTINUE PROCESSING 

,•♦♦017 CLEAN STACK 

,'♦♦017 DECLARE ASSEMBLY ERROR 



•t** D 14 •••• 






NORCT MACRO M1108 
SYMBOL TABLE 



U-DEC-77 09:55 PAGE A-2 



AEXP = 
AM.DECs 
AM.OEF= 
AM.IMMs 
AN.INC= 
AM.NDXs 
AM. PC = 
AM.RELs 
ASGMTF= 
ASTFLG* 
BLKT01- 
BLKTCZs 
BLKT03* 
BLKTOA' 
BLICTOS* 
BLKT06>» 
CH.AOD« 
CH.AND* 
CH.BSL* 
CH.COL* 
CH.CQM« 
CH.DIV» 
CH.DOL* 
CH.0OT« 
CH.EQU* 
CH.HSH> 
CH.INO' 
CH.IOft* 
CH.LAB> 
CH.LP « 

. ABS. 



****** GX 

OOOOAO 

000010 

000027 

000020 

000060 

000007 

000067 

****** GX 

0001 1A 

000001 

000002 

000003 

OOOOOA 

000005 

000006 

000053 

0000A6 

0001 3A 

000072 

00005A 

000057 

0000A4 

000056 

000075 

000043 

000100 

00OOA1 

000074 

000050 



CH.MUL= 

CH.PCT= 

CH.QM = 

CH.QTM= 

CH.RAB'i 

CH.RP = 

CH.SMC= 

CH.SUBs 

CH.UARs 

CH.XCL= 

COOLST= 

CPXADDs 

CPXAND> 

CPXCOM* 

CPXC0N= 

CPXOIV= 

CPXFL6* 

CPXGLB:: 

CPX10R» 

CPXMUL* 

CPXNE6> 

CPXOPC" 

CPXRELs 

CPXSOS« 

CPXST0« 

CPXSUB* 

CR 

CSTACC« 

CSTAL0« 

CSTFLGs 



000052 

000045 

000077 

0000A2 

000076 

000051 

000073 

000055 

000136 

0000A7 

****** GX 

000001 

000005 

000011 

000020 

000004 

000200 

000016 

000006 

000003 

000010 

000010 

000017 

000013 

000012 

000002 

000015 

000020 

000004 

000050 



000000 
000000 
PURE I 000162 
ERRORS DETECTED: 



000 
001 
002 



CSTGBL= 
CSTMEM= 
CSTREL= 
CSTTYPs 
DEFFL6= 
DFGFLG= 
DIG.O - 
DIG. 9 = 
ERRBTS= 
ERR. A = 
FF ' 
GETCHRs 
GLBFLGb 
GMARG - 
GSARG ' 
6SDT00« 
GSDT01= 
6SDT02« 
GSDT03* 
GSDT04» 
GSDTOS' 
GSDT06« 
ILVL = 
LBLFLG- 
LET.A « 
LET.B « 
LET.C » 
LET.D = 
LET.E - 
LET.F » 



000100 
000001 
000040 
000200 
000010 
000020 
000060 
000071 
****** 
****** 

000014 

****** 

000100 
****** 
****** 
000000 
000400 
001000 
001400 
002000 
002400 
003000 
000001 
000002 
000101 
000102 
000103 
000104 
000105 
000106 



VIRTUAL MEMORY USED: 2610 WORDS ( 11 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:16 
NDRCT.C30,30]NDRCT/-SP«C30,10]RSXPAR,GENMC,FL6DF,NDRCT 



GX 
GX 

GX 

GX 
GX 



LET.G = 

LET.O = 

LET. 7 = 

LF 

LST.KB= 

LST.LP= 

MACLVL= 

MACTST 

MOFFLGs 

MODE = 

MSBCNTs 

NARG 

NCHR 

NDARG 

NTYPE 

NTVPEX 

NUSSEC> 

OPCERRs 

PSTFLG« 

regflg* 

RELFLGs 
RLDTOO* 
RLDTOIs 
RLDT02= 
RLDT03S 
RLDT04« 
RL0T05= 
RLDT06= 
RLDT07= 
RLOT10= 



000107 

000117 

000132 

000012 

000001 

000002 

****** GX 

0001 24R 

000004 

****** GX 

****** QX 

000034R6 

OOOOOORG 

0001 40R 

000046RG 

00011 OR 

000004 

****** GX 

000050 

000001 

000040 

000000 

000001 

000002 

000003 

000004 

000005 

000006 

000007 

000010 



RLDT11= 

RLDT15= 

RLDT16= 

RLDT17= 

RMARG = 

RSXIIM* 

R$$11M= 

002 SPACE = 

SUBnAC= 

SYMBOL^ 

TAB = 

002 TSTARG= 

002 VALUE = 

002 VT 

002 XBSRCHs 

002 XCREF = 

XEDABS= 

XEDCDR* 

XEDFPTs 

XEDLC = 

XEDPIC= 

XEDPNC= 

XFLTG = 

XOPEXPs 

XRGERRb 

XSUBD = 

XZERR = 

X45 = 

ZAP 



000011 
000015 
000016 
000017 

****** 

000000 
000000 
000040 
000001 

****** 

00001 1 
****** 
****** 
000013 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 



GX 



GX 

GX 
GX 



r »«♦♦*♦ GX 



t*** ( 14 ••*# 




••*• f )^ •«** 



nbveBn 



M&rnn miAB li.-hcr.?? nOit^ DAM A 



OPTERR (WCRO Ml 108 U-DEC-77 09:55 PAGE 4 



H 
11 



4] 



.TITLE 
.IDENT 



OPTERR 
/02.01/ 



COPYRIGHT <C) 1972,1977 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, NAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 02.01 

D.N. CUTLER U-FEB-73 

C.A. D'ELIA 

C.A. D'ELIA 

C.A. D'ELIA 

C.A. D'ELIA 

C.A. D'ELIA 

C.A. D'ELIA 
CD044 



05-MAR-7A 
22-SEP-74 
22-NOV-7A 
20-OCT-75 
01-NOV-75 



013 
017 
018 
021 
022 



(VIRT MEMORY) 
(CREF) 



31-AUG-77 
■- ADD EXIT-WITH-STATUS SUPPORT 



OUTPUT ERROR MESSAGES AND CLEANUP FILES FOR RE-START 



MACRO LIBRARY CALLS 



.MCALL 


CALLR, CLOSES 


.•♦♦021 


.IF NDF 


RSX11M 




.•♦♦021 


.MCALL 


DELETS 




.•♦♦021 


.ENDC 






.'♦♦021 


.IF NDF 


YOCMO 




.'♦♦018 




**** 


G U 


*••* 



ntittBB MArnn Miini ii..rkrr.77 noi^^ parf i»1 



OPTERR MACRO Ml 108 U-OEC-77 09:55 PAGE A-1 



6A 000000 



80 000000 

81 000004 

82 000010 
85 OOOOU 

84 000016 

85 000022 

86 000026 
7 000030 



012716 
012703 
122701 
0OU07 
012703 
122701 
00U02 
012703 



OOOOOOG 
OOOOOOG 
OOOOOOG 

OOOOOOG 
OOOOOOG 

OOOOOOG 



M 000034 010301 

05 000056 012704 OOOOOOG 

06 000042 004767 OOOOU 
07 



.MCALL PUTS 
.ENDC 



PURE 



PURE 1. 1 



.•♦♦018 
;+^018 

;+^017 



♦♦021 



*-$ERMS6-*-0UTPUT ERROR MESSAGES, CLEANUP OPEN FILES, AND RESTART 
(CALLED ONLY BY VIRTUAL MEMORY ROUTINES) 

INPUT: 

R1s(L0W BYTE) ERROR MESSAGE NUMBER 

OUTPUT: 

AS DESCRIBED FOR CALL TO 'SORTER* BELOW 

"021 



SERMSG::MOV 


#CONT,(SP) 


♦♦021 CHANGE RETURN ADDR TO RESTART 


MOV 


«VIRTM1,R3 
#ESR4,R1 


♦♦021 ASSUME ERROR IS ESR4 


CMPB 


♦♦021 CHECK ERROR NUMBER 


BEQ 


SOPTER 


♦♦021 IF EQ RIGHT 


MOV 


#V1RTM2.R5 


♦♦021 ASSUME ERROR IS ESR73 


CMPB 


#ESR75,R1 


♦♦021 CHECK ERROR NUMBER 


BEQ 


SOPTER 


♦♦021 IF EQ RIGHT 


MOV 


*V1RTM5,R3 


•♦♦021 ELSE. ERROR IS ESR76 



♦ ♦018 
•-S0PTER-«-0UTPUT ERROR MESSAGES TO 'CMO' AND CLEANUP FILES 
INPUT: 



R5«ADDR OF ERROR MESSAGE BYTE COUNT (PRECEEDING ACTUAL TEXT) 



OUTPUT: 



R1,R2»L0ST 

R5«SAVED 

R4>ADDR OF GCML BLOCK 



--018 



SOPTER: :MOV 
MOV 
CALL 



R5,R1 

#CMLBLK.R4 

OUTERM 



.IF NDF RSX11M 
CALL OELALL 
.ENDC 



.•♦«018 COPY MESSAGE ADDR INTO R1 
.-♦♦018 PUT GCML BLOCK ADDR IN R4 
,•♦♦018 PRINT ERROR MESSAGE AND CMD LINE 



{♦♦018 

.•♦♦018 DELETE OUTPUT FILES 

.•♦»018 



**•• H U •*•• 



nBTCbtt MArbn MIIHR U.ncr.77 OOtt'; PAfiF i-2 



OPTERR MACRO Ml 108 U-DEC-77 09:55 PAGE A-2 



115 

116 000046 

111 



1 ' 

127 000052 

1 



1 



012701 

28 000056 012102 

29 000060 000A07 



OOOOOOG 



Af 

<>6 000062 012102 

47 

A8 000064 004767 000010 

49 000070 016401 000002G 

50 000074 016402 OOOOOOG 



51 000100 
52 



60 000100 



000100 



CALLR CLSALL 



.•♦♦021 CLOSE ALL OPEN FILES AND RETURN 



**-»CMDER- INPUT COMMAND I/O ERROR 

THIS ROUTINE IS CALLED TO REPORT THE COMMAND I/O ERROR 
BECAUSE STANDARD ERROR MESSAGE REPORTING ALSO PRINTS 
A COPY OF THE COMMAND LINE AUTOMATICALLY. 



SCMDER::MOV «CMLM2,R1 ;GET MESSAGE ADDRESS 
MOV (R1)^,R2 :SET MESSAGE LENGTH 
BR 0UTER1 ; FINISH UP IN COMMON CODE 

♦♦005 

**-0UTERM-SEND ERROR MESSAGE AND COMMAND LIME TO CMO DEVICE 

INPUTS: 
; RUADDR OF ERROR MESSAGE BYTE COUNT (PRECEEDING MESSAGE) 
) R4sADDRESS OF GCML BLOCK 

OUTPUTS: 

RO'ADDR OF CMO FDS (ONLY IF FILE ORIENTED OUTPUT) 
I RI'ADDRESS OF COMMAND INPUT LINE 
; R2«BYTE COUNT OF COMMAND INPUT LINE 



;— 005 
0UTERM::M0V 



0UTER1 : 



CALL 

MOV 

MOV 



(R1)^.R2 ;^^017 PUT MESSAGE LENGTH IN R2 ... 

;^^017 ...LEAVING R1 POINTING TO MESSAGE 
OUTMSG ,•♦♦013 SEND MESSAGE TO CMO 
G.CMLD^2(R4).R1 ,•♦♦013 GET ADDR OF CMD LINE IN R1 
G.CMLD(R4),R2 .•♦♦005 BYTE COUNT IN R2 

:REF LABEL 



.IF DF EXST 

MOV iVEXSSEV.tEXSTS .•SET SEVERE ERROR STATUS 

.ENDC 



OUTMSG: 





.'♦♦018 






.IF DF YQCMO 


.•♦♦018 






CALLR lOCMO 


.•♦♦021 QUEUE 1/0 TO 


'CMO' 


AND RETURN 


.IFF 


.•♦♦013 







PUT! #CM0FD8.R1.R2 ,•♦♦018 PUT LINE TO 'CMO' VIA FCS 
RETURN .•♦♦021 



*•*• 



TTT 



CD044 
CD044 
CD044 
CD044 
CD044 
CD044 
CD044 
CD044 
CD044 
CD044 
CD044 
CD044 



CD044 
CD044 
CD044 
CD044 
CD044 
C0044 
CD044 
CD044 
CD044 



••«• 



natKBB Mtt^n Ml in* 1i..Mr.y7 nOitt DAAt Lm\ 



OPTERR MACRO m 108 U-OEC-77 09:55 PAGE «-3 



86 000104 

87 000105 



1<M 000106 
195 000107 
1% 



i 



200 
)1 000110 



MO 

115 

M8 

19 



.ENDC 



,•♦♦013 'VQCMO' 



••-CLSALL-CLOSE ALL OPEN FILES 
••-DELALL-OELETE OUTPUT FILES 

INPUTS/OUTPUTS: NONE 



oca 

012 



CLOLST: 



OOA 
006 



377 



OELLST! 



00011? 01?701 000104' 

000116 112100 

000120 0024 IS 

000122 126027 OOOOOOG OOOOOOG 

000130 001372 

000132 105060 OOOOOOG 

000136 016000 OOOOOOG 

000U2 

0OOU6 000763 

000150 

000160 000207 



CLSALL: 
10»: 



m 



.BYTE 
.BYTE 



SRCCHN 
SMLCHN 



;^^021 SOURCE FILE 
:^^021 MACRO LIBRARY FILE 



.IF NOF YQCMO 
.BYTE CMOCHN 
.ENDC 



;^^021 
.•♦♦021 
.•♦♦021 



COMMAND OUTPUT FILE 



.BYTE 
.BYTE 



LSTCHN 
BINCHN 



.IF NDF NCREF 

.BYTE CRFCHN 
.ENDC 

.BYTE -1 

.EVEN 

.Eft«^ LS8 



:MOV 
MOVB 
BLT 
CMPB 
BNE 

CLRB 

MOV 

CLOSES 

BR 

CLOSES 

RETURN 



#CL0LST.R1 

(RD^.RO 

20S 

IOFTBL(RO).«IO 

10S 

lOFTBKRO) 
FDBTBl(RO),RO 

StfRKPT 



.•♦♦021 LISTING FILE 
.•♦♦021 OBJECT FILE 

.•♦♦022 

.•♦♦022 CREF FILE 

.•♦♦022 

.•♦♦021 END-OF-LIST 

;^^021 

.•♦♦021 

.'♦♦021 POINT R1 TO LIST OF FILES 
;^^021 PUT SOFTWARE CHANNEL » IN RO 
^♦♦021 IF NEGATIVE. ALl DONE 
.OPN ;^^021 TEST FOR FILE OPEN 

♦♦021 NO. IGNORE (CAN'T ARBITRARILY 
♦♦021 ... CLOSE DUE TO OVERLAYS) 
♦♦021 SET CHANNEL CLOSED STATUS 
♦♦021 GET FDB IN RO 
CLOSE THE FILE 
REPEAT FOR ALL OPEN FILES 
CLOSE WORK FILE 



::8I1 
::8!1 



.IF NDF RSX11M 



.'♦♦021 



^J^ALL.MOV 



MOVB 
BLT 
CLRB 
MOV 



•DELLST.RI 

(R1)^,r6 

25S 

lOFTBL(RO) 
FDBTBL(RO).RO 



,•♦♦021 POINT R1 TO OUTPUT FILES UST 
.•♦♦021 PUT SOFTWARE CHANNEL « IN R6 
.-♦♦021 IF NE6ATIVF. THEN DONE 

' SET CHANNEL CLOSED STATUS 
GET FDB ADDR IN RO 



;^^021 



•t** J U •••« 



MtiM MArttn MIIOR U-nfC-r7 09:55 PAGF 4-4 



OPTERR MACRO N1108 U-OEC-77 09:55 PAGE <.-* 



BEQ 30S 

OELET$ RO 

BR 301 

.ENOC 



.•^♦0?1 IF NULL. CHANNEL NOT USED 

.'♦♦021 DELETE THE FILE 

i**0?'\ REPEAT FOR ALL OUTPUT FILES 

.•♦♦021 



.DSABL LSB 



.•♦♦021 



000001 



.END 



•••• K U •••• 



I «!»*»»« MAr 



Bn Mtina ii.-Atr.y7 naitt MAfit tm% 



1 



OPTERR MACRO MHOS 
SYMBOL TABLE 



U-OEC-77 09:55 PAGE 4-5 



BINCHN' 



CLOLST 
CLSALL 
CMLBLKs 
CNLMZ > 
CNOCHNs 
CQNT « 
CPL « 
OELLST 
EM4 « 
EIR75 « 
FDBTBI' 

. ABS. 



000006 
000020 
0001 04R 
0001 12RG 
•*•••* GX 
•••••• GX 

000000 
•**•** GX 

000120 
000106R 
*••••• GX 
•*•♦•• GX 
•••••• GX 



002 
002 



000000 
000000 
PURE I 000162 
ERRORS DETECTED: 



G.CMLD- 
ILVL = 
IOFTBL= 
lO.OPNs 
LINLEN- 
LPP = 
LSTCMNs 
LSTLEN« 
NAXCHN' 
002 NUtSEC- 
0BJLEN> 
OUTERM 
0UTER1 

000 
001 
002 



•••••• 

000001 

C0020A 

00007A 

000004 

000204 

OOOOU 

000004 

000052 

000062RG 

0001 OOR 



GX 



GX 

GX 



002 



OUTMSG 
PARSSt^ 

RELCHN» 
RLDLENs 
RSX11M< 
RISIIM* 
S«LCHN« 
SnLLEN' 
SRCCHN* 
SRCLEN* 
STLLEN= 
SUBMAC- 



002 TW»CNT= 



VIRTUAL KMORV USED: 1185 WORDS ( 5 PAGES) 
DYNAMIC MEMORY: 15744 yORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:14 

OPTERR.C30.303OPTERR/-SP»[30J0]RSXPAR.MPARAM.MCI0CH.OPTERR 
f 



0001 OORG 


002 TTLLEN« 000040 


XFLTG « 000000 
XOPEXP= 000000 




000067 


VIRTM1= ♦••••• GX 




000010 


VIRTM2= ••••** GX 


XRGERRs 000000 




000052 


VIRTM3«= •••••• GX 


XSUBD ' 000000 




000000 


XBSRCHs 000000 


X7ERR = 000000 




000000 


XCREf = 000000 


X45 = 000000 




000012 


XEDABS- 000000 


YQCMO = 000000 




000120 


XEDCDRs 000000 


SCMDER 000052RG 


002 


000002 


XEDCRF- 000000 


SERMSG OOOOOORG 


002 


000204 


XEDFPTr 000000 


SOPTER 000054RG 


002 


000100 


XEDLC = 000000 


SOCNO = ••»••• GX 




000001 


XEDPIC= 000000 


»yRlCPT= •*•••• GX 




000014 


XEDPNC* 000000 


.CL0SE= • G 





•••• L 1A •*•* 




•••• n 14 ••«• 



PUnt^l MACAO MllOa U-DEC-77 09: S6 PAGF S 



PROCSI MACRO Ml 108 U-DEC-77 09:56 PAGE 3 




.TITLE PROCSI 
.lOENT /03/ 



COPYRIGHT (C) 1972.1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIASILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 03 
B. BOWER ING 

MODIFIED BY: 



D.N. 
C.A. 
C.A. 
C.A. 
H.A. 
C.A. 



CUTLER 6-FEB-73 



D'ELIA 

D'ELIA 

D'ELIA 

NICHOLS 

D'ELIA 



0«-OCT-73 
15-NOV-75 
22-MAR-7A 
18-JUN-7A 
01 -NOV- 75 



003 
007 
OU 
017 
022 



(CREF) 



.MCALL CALL,CSIS 
CSIt 



PURE PURE I. J 



016502 
012701 
032102 

m 

012105 
01210* 
012705 



000024 
OOOOOO' 



OOOOOOG 



PROCSI !! 

MOV C.MICW1(R5),R2 

MOV fSWCLT.RI 

PRO: BIT (R1)»,R2 

SEQ NXTCSi 

MOV (Rl)».RQ 

MOV (R1)*.R3 

MOV (RDt.RA 

MOV «LINBUF,R5 



.•♦♦OU 



.'♦♦017 

.'♦♦003 PROCESS SWTICHES 

.•GET SWITCHES SPECD 

.•SWITCH CONTROL TABLE ADDR 

.'SWITCH SPECD? 

; BRANCH IF NOT 

;GET ASCII SWITCH NAMt 

;GET SIZE OF VALUE TABLE IN BYTES 

.•ADDR OF VALUE TABLE 

.•ASM AREA FOR CHAR STRING 



**t* N U **** 



PROCSI MACRO mi08 U-DEC-77 09:56 



58 000026 

59 000052 

60 00003A 

61 000036 

62 OOOOAO 

63 000044 



69 000046 

70 000050 

n 



79 

80 000052 

81 000054 
S2 000060 

83 000062 

84 000064 

85 000066 

86 000072 

87 000074 

88 000076 

89 000100 
90 



112725 
111425 
001003 
005305 
112725 
1050?4 



005303 
001370 



105015 

001004 
000261 
000404 
062701 
005711 
001345 
006000 
000167 



000001 
000002 
000004 



000200 



000017 



000040 



000040 



000006 



OOOOOOG 



PAGE 3-1 










novB 


#• ,(R5)* 
(R4),(R5)* 


« 


NXTCHR: 


M0V8 


.'MOVE CHAR FROM TABLE FO LINBUF 




BNE 


CHROK 


.-BRANCK IF NOT NULL 




DEC 


R5 






MOVB 


»' ,{R5)+ 
(R4)* 


* 


CHROK: 


CLRB 


.'REINIT VALTAB AS WE GO 




.IF NDF 


PDPV45 


.•♦♦014 




DEC 


R3 


,•♦♦014 DECREMENT CHAR COUNT 




BNE 


NXTCHR 


;^^014 SKIP BACK IF COUNT NOT ZERO 




.IFF 




.•♦♦014 




SOB 


ft3,NXTCHR 


.•REPEAT 




.ENDC 




,'♦♦014 (PDPV45) 




CLRB 


(RS) 






CALL 


PROSW 


:NOW ASM PROCESSES SWITCHES 




BNE 


NXCSI 


;BRANCH IF NO ERROR 




SEC 




,'SET CARRY 




BR 


NXEXT 


• 


NXTCSl: 


ADD 


4*6.R1 
(R1) 




NXCSI: 


TST 


;MRE SWITCHES IN CNTRL TABLE 




BNE 


PRO 


;YES, BRANCH 

;SAVE CARRY INDICATOR 


NXEXT: 


ROR 


RO 




JMP 


topsyr 


.•RELOAD SEGMENT IF NECESSARY 



SWITCH PROCESSING STORAGE 
DEFINE SWITCH MASKS 



LIMSK««1 
NLMSK--2 
PAnSK»4 

.IF NDF XCREF 
CRMSK--10 

.IFTF 
eNM$K-26 

DSMSK-40 
SPMSK»l50 

.If NDF XSML 
MLMSK»200 

.ENDC 



•11" MASK 
•KL" MASK 
"PA" MASK 

♦ <003 
"CR" MASK 

♦ ♦003 
'W MASK 
•t>S" MASK 
"SP" MASK 

♦♦007 'ML" 

♦ v007 



MASK 



; SPECIFY NUMBER OF SWITCH VALUES 

I 

LIVALS«15. 

**** I IS **** 



PROCSI MACRO Ml 108 U-DEC-77 09:56 PAGE 3-2 



000017 
000013 
000004 



]0 000104 

31 000000 000001 OAASU 
000006 000000' 

32 000010 000002 0A6116 
000016 000074' 

13 



000074 
000074 



136 000020 000020 047105 000020 
000026 000170' 

137 000030 000040 051504 000020 
000036 000210' 

138 000040 000000 
139 



151 

143 

144 000000 

145 000000 

146 000074 
147 

148 
149 

150 000170 

151 000210 



Hi 



000001 



NLVALS=LIVALS 
.IFT 

CRVALS=4. 

.IFTF 

ENVALS=11. 

.IRP 



,IIF DF XLCTTM,LIVALS=LIVALS-1 .•♦♦003 



;^+003 
[♦♦003 

;*+022 NUMBER OF /CR VALUES 
;+^003 
,-♦♦022 
»X,<ABS.PIC,CDR.FPT,PNC,LC.CRF> .•♦♦022 



.ENDM 
DSVALS^ENVALS 



!lIF DF XED'$X,ENVALS=ENVALS-1 .•♦♦603 



.•♦♦003 
.•♦♦003 



: SWITCH CONTROL PROCESS 'NG TABLE 

PURE DPURE.O :**0^7 

SUCLT: .WORD LIMSK,"LI.LIVALS*4.LIADDR 

.WORD NLMSK.'NL.NLVALS*4.NLADDR 

.IFT .•♦♦003 

.WORD CRMSK."CR.CRVALS*4,CRADDR 

.IFTF ,•♦♦003 

.WORD ENMSK."EN.ENVALS*4,ENADDR 

.WORD DSMSK."DS.DSVALS*4.DSADDR 

.WORD 

; SWITCH VALUE STORAGE 





.PSECT 


IMPURE. D.RW 


♦ ♦017 


LIADDR: 


: .BLKW 


LIVALS»2 




NLADDR: 


: .BLKW 


NLVALS*2 






.IFT 




♦ ♦003 


CRADDR: 


: .BLKW 


CRVALS»2 






.ENDC 




♦ ♦003 


ENADDR: 


: .BLKW 


ENVALS»2 


1 


DSADDR: 


: .BLKW 


DSVALS*2 


1 



.END 



**** c 15 **** 



PROCSl MACRO Ml 108 
SYMBOL TABLE 



1A-DEC-77 09:56 PAGE 3-3 



BPMB = 

CHROK 

CPL = 

CS.DIF= 

CS.OVFs 

CS.EQU- 

CS.1NP= 

CS.MOR" 

CS.NMF= 

CS.OUT* 

CS.WLD= 

C.CMLO* 

C.DEVO= 

C.DIRD> 

C.DSDS* 

C.FILD" 



000020 

OOOOAAR 

000120 

000002 

OOOOOA 

OOOOAO 

000001 

000020 

000001 

000002 

000010 

000002 

000006 

000012 

000006 

000016 



. ABS. 000000 
000000 
PURE I 0001 OA 
DPURE 0OOOA2 
IMPURE 000230 
ERRORS DETECTED: 



C.MKW1= 
002 C.MKU2- 
C.SIZE= 
C.STAT= 
C.SWAD- 
C.TVPRs 
DSADDR 
DSMSK = 
DSVALS= 
ENADDR 
ENMSK > 
ENVALSs 
ILVL = 
LIADDR 
LIMSK = 
LINBUF= 

000 
001 
002 
003 
OOA 



00002A 
000026 
000054 
000001 
000022 
000000 
00021 ORG 
000040 G 
000004 
0001 70R6 
000020 G 
OOOOOA 
000001 
OOOOOORG 
000001 G 
****** GX 



OOA 



L1NLEN= 
LIVALS= 
LPP = 
LSTLEN= 
MLMSK = 
NLADDR 
NLMSK - 
NLVALSs 
NU$SEC= 
004 NXCSI 
NXEXT 
NXTCHR 
NXTCSI 
OBJLENs 
PAMSK = 



004 



000204 

000017 

000074 

000204 

000200 G 

000074RG 

000002 6 

000017 

000004 

000072R 

000076R 

000032R 

000066R 

000052 

000004 G 



VIRTUAL MEMORY USED: 959 WORDS ( 4 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:11 

PROCSl. C30,30]PROCS1/-SP«C30,10]RSXPAR,MPARAM. PROCSl 
fxd 



PRO 

PROCSl 

PROSW = 

RLDLEN- 

RSXllMs 

004 RSSIIM:: 

SMLLEN- 

SPMSK = 

SRCLEN- 

002 STLLENs 

002 SU6MAC- 

002 SWCLT 

002 TTLLEN= 

XBSRCHs 

XCREF « 



00001 OR 
OOOOOORG 
****** GX 

000052 

000000 

000000 

000120 

000100 G 

000204 

000100 

000001 

OOOOOOR 

000040 

000000 

000000 



002 XEDABS= 

002 XEDCDRs 
XEDCRF= 
XEDFPT= 
XEDLC = 
XEDPIC» 
XEDPNC= 
XFLTG = 
XOPEXPs 
XRGERRs 
XSUBD s 

003 XZERR - 
X45 = 
YQCMO = 
$0PSWT= 



000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
****** GX 



«••* D IS **** 



r— 7 




***• e 15 **** 



I ^&A^* «A>A^A »&« • A* AA^m.mm^^9 



AA.SA AA«e K 



PROPC MACRO M1108 U-OEC-77 09:56 PAGE 5 



.TITLE PROPC 
.IDENT 706/ 



47 
AS 

«9 000000 
SO 000000 
QOQOQO 
OOOOOA 
OC 
10 
U 
. J00020 
57 00002? 



COPYRIGHT (C) 1972.1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE' 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 06 

B. BOWERING MAIN AUTHOR 

MODIFIED BY: 



D.N. CUTLER 20-JAN-73 






C.A. D'ELIA 


22-SEP-73 


001 




C.A. D'ELIA 


22-SEP-73 


002 




C.A. D'ELIA 


04-OCT-73 


003 




C.A. D'ELIA 


12-NOV-73 


006 




C.A. D'ELIA 


25-JAN-7A 


Oil 




H.A. NICHOLS 


18-JUN-7A 


017 




C.A. D'ELIA 


21-JAN-75 


018 




C.A. D'ELIA 


20-OCT-75 


021 


(VIRT MEMORY) 


C.A. D'ELIA 


09-FEB-76 


022 


(CREF) 


C.A. D'ELIA 


30-JUL-76 


02A 


(INSTR STACK OVERFLOW) 



♦•—PROPC— OPCODE PROCESSOR 



\i 

56 



01270A 
01U01 
00502A 

m 

00U07 
032712 



OOOOOOG 



OOOOQQG 
10C000G 

000001 



PROPC! 



PURE PURE 1. 1 



MOV 
MOV 
CLR 
MOV 
BIT 
BEQ 
BIT 



«MODE,RA 

(RA).RI 

(RA)t 



fiboOoSiDFLGEV.Ri 



1$ 
#1.(R2) 



;**017 
:REF LABEL 
; POINT TO MODE 
;LEAVE RESULT IN R1 
.•SET TO ZERO, POINT TO VALUE 
POINT R2 TO LOCATION COLINTER 

;0P CODE OR EVIN DIRECTIVE? 
; NO 
JYES. CURRENTLY EVEN? 



**•• f ]$ *•«* 



t^ran U11A> 1/._l\cr.77 HQttA DAftC CI 



PROPC 



MACRO Ml 108 1A-DEC-77 09:56 


58 000026 


OOUOA 




59 000030 


005212 




60 000032 






61 OOOOAO 


032701 


OOOOOOG 


62 0OOOA4 


00U02 




65 0O0OA6 


005267 


OOOOOOG 


64 000052 


005701 




65 00005A 


100A0A 




66 000056 


011AA6 




67 000060 


0050U 




68 000062 


005003 





PAGE 5-1 

1$: 
2S: 



BEQ 

INC 

ERROR 

BIT 

BEQ 

INC 

TST 

BMI 

MOV 

CLR 

CLR 



1S 

(R2) 

6 

«DFLGBM.R1 

2$ 

BYTMOD 

R1 

IDS 

(RA).-(SP) 

(RA) 

R3 



YES 
NO, MAKE IT EVEN 

AND FLAG ERROR 
BYTE MODE DIRECTIVE? 

NO 
YES. SET FLAG 
OP-CODE? 

YES 
NO. DIRECTIVE. 
CLEAR VALUE 
START WITH R3=0 



00006A 000136 

000066 012767 077776 0000006 10$: 

00007A 

000100 0167A6 OOOOOOG 

0001 OA 011667 OOOOOOG 



88 

89 000110 

90 000112 

91 000116 

92 000122 

93 0001 2A 
9A 000126 

95 000130 

96 00013A 

97 000136 

98 0001 AO 

99 0001 AA 

00 0001 A6 

01 000150 
102 000152 

03 000156 
OA 000162 
05 0001 6A 



000301 
0A2701 
010167 
006301 
006301 
0050A6 
0161A6 
001001 
005726 
016101 
001 A22 
0101 A6 
000316 
0A2701 

005000 
00A761 



1! 

1A 000170 006300 



177600 
OOOOOOG 



000002' 
000000' 

177A00 
000250' 



13$: 



.IF NDF XCREF 
CLRB CRFDFL 



.IFTF 

JMP 

MOV 

STCODE 

MOV 

MOV 

.IFT 

MOVB 

.IFTF 



a(SP)+ 
#077776. PCRCNT 

VALUE, -(SP) 
(SP).$OPCOD 



R1. CRFDFL 



CLEAR DESTRUCTIVE REF FLAG 



GO TO PROPER HANDLER 

LIST LOCATION OF FIRST WORD ONLY 

STUFF BASIC VALUE 

SAVE BASIC OPCODE VALUE 

AND MAKE A WORKING COPY OF IT 



SAVE DESTRUCTIVE REF FL„o 



SWAB 


R1 




BIC 


*1 77600. R1 


; CLEAR HIGH ORDER BITS 


MOV 


R1 .OPCLAS 


;SAVE CLASS 


ASL 


R1 




ASL 


R1 


.•FOUR BYTES PER TABLE ENTRY 


CLR 


-(SP) 


;SET A STOPPER 


MOV 


0PJTBL+2(R1).- 


•(SP) ; STACK SECOND ARG 


BNE 


11$ 


; BRANCH IF TWO ARGS 


TST 


(SP)* 


;ONE ARG. PRUNE TERMINATOR 


1$: MOV 


0PJTBL(R1).R1 


;SET THE FIRST ARGUMENT 


BEQ 


U$ 


.•BRANCH IF NO ARGS 


2$: MOV 


R1,-(SP) 
(SP) 


.-SAVE A COPY OF THE ARG 


SWAB 


;SH1FT COUNT TO RIGHT HALF 


BIC 


#177A00.R1 


; ISOLATE LOW BYTE 


TSTARG 




.•COMMA TEST 


CLR 


RO 


.■FUNCTION REGISTER 


CALL 


OPJBAS(RI) 


;CALL PROPER ROUTINE 


.IFT 






ROLB 


CRFDFL 


;SH1FT DESTRUCTIVE REF FLAG 


.ENDC 







ASL RO 



.'SHIFT RESULT 



**** G 15 **** 



itAnar tkkran iilinB 1/,>hCr.77 nOi^A PtC.f <-9 



PROPC MACRO M1108 1A-DEC-77 09:56 PAGE 5-2 



115 000172 

116 000174 

117 000176 

118 000200 

119 00020A 

120 000206 

121 000212 

122 0002U 
125 000216 

124 000222 

125 000224 

126 000250 

127 000254 

128 000242 

129 000246 
150 

151 



105516 

002575 

006000 

050067 OOOOOOG 

005726 

004767 OOOOOOG 

012601 

001554 

026726 OOOOOOG 

001411 

016701 OOOOOOG 

004767 OOOOOOG 

016760 OOOOOOG OOOOOOC 

004767 OOOOOOG 



DECB 


(SP) 


BGE 


13$ 


ROR 


RO 


BIS 


R0,$OPCOD 


TST 


(SP)* 


CALL 


ZAPCPX 


14$: MOV 


(SP)*.R1 


BNE 


12$ 


CMP 


$OPCOD.{SP)* 


BEQ 


20$ 


MOV 


BASC0D.R1 


CALL 


$CVRL 


MOV 


$OPCOD,<VALUE 


CALL 
20$: 


$WRMPG 


.IF NDf 


XZERR 


TST 


PASS 


BEQ 


23$ 


MOV 


$OPCOD.R0 


MOV 
BIC 


R0.R1 
#000007. R1 


CMP 


#0001 20, R1 


BEQ 


22$ 


BIC 


#000700. R1 


CMP 


#004020, R1 


BEQ 


22i 


MOV 
BIT 


R0.R1 
#007000. R1 


BNE 


23$ 


BIC 


#100777, R1 


BEQ 


23$ 


CMP 


#070000, R1 


BEQ 


23$ 


MOV 


R0.R1 
#1^0017, R1 


BIC 


CMP 


#000760, R1 


BEQ 


22% 


BIC 


#1 77717, R1 


CMP 


#000020. R1 


BEQ 


21$ 


CMP 


#000040, R1 


BNE 


23$ 


21S: MOV 


R0,R1 


ROL 


R1 


ROL 


R1 


SWAB 


R1 


SUB 


R0.R1 
#060007,R1 


BIT 
BNE 


22$: ERROR 
23$: 


Z 



000246 000207 



.ENDC 

RETURN 



; COUNT IN SP, RH 

;WE WENT ONE TOO MANY 
;SET ADDRESS MODE BITS INTO OPCODE 
.•PRUNE WORK EM^Ry 
.•♦♦003 CLR CPXROL OF FIRST ARCS 
;GET NEXT ARG FROM STACK 
; BRANCH IF NOT TERMINATOR 
.-HAS BASIC OPCODE BEEN MODIFIED? 
:IF EQ NO 

;GET VIRT LOCN OF START OF LIST 
;GET ITS REAL ADDR IN RO 
■SYMBOL+2XR0) ;UPDATE OPCODE VALUE 
.•MARK PAGE DIRTY 



IS THIS FIRST PASS 

IF EQ YES— NO ERROR MSG OUTPUT 

COPY INSTRUCTION INTO RO 



; JMP (R)+ 
; JSR X,(R1)+ 



.•FIRST ARG TYPE 0? 
; NO, OK 



; DOUBLE ADDRESS TYPE? 
; NO 



; MOV PCCaDXCR) 

; (R)* 
; -(R) 



R1«R2 



•♦♦006 



••** H 15 **•• 



bbHDr mkrttn Mlinil U.hFr-77 OQ'.^d PAGF 6 



PROPC MACRO M1108 U-DEC-77 09:56 PAGE 6 



172 
173 
17A 
175 
176 
177 
178 
179 
180 
181 
182 
183 
18A 

;si 

187 
188 

189 000250 

190 000000 

191 000000 

192 OOOOOA 

193 000010 
19A OOOOU 

195 000020 

196 00002A 

197 000030 
198 

199 • 

200 00003A 

201 OOOOAO 

202 000044 

203 000050 
204 

205 
206 
207 
208 
209 
210 

211 000054 

212 000250 

213 000252 

214 000256 

215 000262 

216 000264 

217 000272 

218 000276 
219 

?20 

221 000300 




28 000324 



.MACRO 6EN0PJ NUMBER, SUBR1 ,SCl ,SUBR2,SC2 
.GLOBL OPCL 'NUMBER 
OPCL 'NUMBERS <.-0PJTBL>/4 
.IF NB <SUBR1> 

.IIF IDN <SUBR1>,<AEXP>, .BYTE 
.IIF DIF <SUBR1>.<AEXP>. .BYTE 
.ENDC 

.IIF B <SUBR1>. .BYTE 
.BYTE SCltO 
.IF NB <SUBR2> 

.IIF IDN <SUBR2>,<AEXP>, .BYTE 
.IIF DIF <SUBR2>,<AEXP>. .BYTE 
.ENDC 

.IIF B <SUBR2>, .BYTE 
.BYTE SC2+0 
.ENDM 



;0P CODE JUMP TABLE 



AEXPI-OPJBAS 
SUBR1-0PJBAS 



AEXPI-OPJBAS 
SUBR2-0PJBAS 



OPJTBL: 



PURE DPURE.D 

GENOPJ 00 

6EN0PJ 01 . 

GENOPJ 02, 

GENOPJ 03. 

GENOPJ 04. 

GENOPJ 05, 

GENOPJ 06, 



.•t*017 

;0P CODE JUMP TABLE 

AEXP 



AEXP 

AEXP, 6, 

REGEXP 

BROP 

REGEXP, 6, AEXP 

TRAPOP 



000207 

032700 
001405 

042700 
000207 



126767 
001010 
166700 

W 

005300 



177770 
177770 



.IF NDF 
GENOPJ 
GENOPJ 
GENOPJ 
GENOPJ 
.IF NDF 
GENOPJ 
GENOPJ 
GENOPJ 
GENOPJ 
.ENDC 
.ENDC 
PURE 
OPJBAS: RETURN 
REGEXP: ABSEXP 
BIT 
BEQ 
ERROR 

111 RETURN 



X40!X4S 

07, AEXP, 

§1; 
Hi 

11, 

^: 

14, 



PUREM 



;t»002 

0. 
REGEXP, 6, 
AEXP, 0, 
MARKOP 

AEXP, 0, 

DR6EXP, 6, 
SPLOP 

AEXP, 0, 



REGEXP, 6 

soeop 

REGEXP, 6 



DRvicXP, 6 
AEXP. 

DRGEXP, 6 



#1 77770, RO 

1$ 

R 

#1 77770, RO 



BROP: 



.ENA6L LSB 



OOOOOOG OOOOOOG 
OOOOOOG 



R«iLEXP 

CMPB 

BNE 

SUB 

ASR 

BCS 

DEC 



♦ ♦002 

♦ ♦017 

INDEX BASE FOR FOLLOWING ROUTINES 
EVALUTE ABSOLUTE 
ANY OVERFLOW? 

NO 
YES, FLAG FRROR 
CLEAR OVERFLOW 



;^+018 

.•BRANCH DISPLACEMENT TYPO 



SECTOR, CLCSEC 

2t 

CLCLOCRO 

RO 

2$ 

RO 



»*** I 15 *«*« 



MArnn Mima 1/..Arr.77 no.^^k DAr.C 4k. 1 



PROPC MACRO Ml 108 U 


-DEC-77 09:56 


PAGE 6-1 


l!SI!SSiy 


110003 






020005 








001405 










BRERR: 


233 00033/, 






2$: 


23<i 0003A2 


012700 


000377 




235 0003A6 


042700 


177400 


3$: 


236 000352 


000207 






237 








238 








239 00035A 






TRAPOP: 


2A0 00035<. 








241 000360 


011446 






2A2 000362 








2A3 000366 


005267 


'OOOOOOG 




244 000372 








245 000376 


121227 


000200 




246 000402 


001003 






247 000404 


005726 






248 000406 


011400 






249 000410 


000207 






250 000412 






IS: 


251 000422 








252 000426 


012713 


100000 




253 000432 


000316 






254 000454 


012614 






255 000436 








256 000442 


005000 






257 000444 


000207 







MOVB 


R0.R3 


;EXTEND SIGN 


CMP 


R0.R3 


.•PROPER? 


BEQ 


3$ 


; YFS 
;^^018 


ERROR 


A 




MOV 


#000577. RO 




BIC 


#1 77400. RO 


.-♦♦018 INSURE HIGH BITS ARE CLEAR 


RETURN 






.DSABL 


LSB 


.•♦♦018 
.'TRAP TYPE 


SETXPR 




;SET EXPRESSION REGISTERS 


MOV 


(R4).-(SP) 


;SAVE THE VALUE 


EXPR 




; EVALUATE THE EXPRESSION (NULL OK) 


INC 


BVTMOD 


; TREAT AS BYTE 


SETIMM 






CMPB 


(R2) .#200 


.•ABSOLUTE? 


BNE 


11 


; NO 


TST 


(SP) + 


.•YES, PRUNE STACK 


MOV 


(R4).R0 


; VALUE TO MERGE 



RETURN 

ZAP 

STCODE 

MOV 

SWAB 

MOV 

STCODE 

CLR 

RETURN 



CODLST 

#100000. (R5) 

(SP) 

(SP)+,(R4) 

RO 



.•EMPTY GENERATED CODE LIST 

.•STORE ADDRESS 

.•SET FOR ABSOLUTE BYTE 

;SET ORIGINAL VALUE 



•••* J 15 **t« 



MArnn Mima U.M:r.77 OO-^A PAfiF 7 



PROPC MACRO mi 08 U-DEC-?? 09:56 PAGE 7 



259 
260 
261 
262 
265 
2tA 
265 
266 
267 
268 

269 00OAA6 

270 000446 

271 000452 

272 000454 
275 000456 

274 000460 

275 000464 
276 

277 
278 
279 
280 
281 
282 
285 
284 
285 

286 000466 

287 000466 

288 000472 

289 000476 

290 000500 

291 000502 

292 000510 
295 000512 
294 

295 
296 



DRGEXP: 



,IF NDF X40!X45 
,IF NDF X45 



CALL REGEXP 

MOV #1 77774. R3 

BR MASKRS 

• IFTF 



004767 1 77626 

110000 

005400 

005005 

004767 177650 

000772 



SOBOP: 
10S: 



SPLOP: 



CALL 

MOVB 

NEG 

B6T 

CALL 

BR 

• IFT 



ABSEXP 

MOV 

BR 

.IFTF 



BROP 

RO.RO 

RO 

NASKB6 

BRERR 

10» 



#1 77770, R3 
MASKR3 



; ^♦002 



DOUBLE REGISTER EXPRESSION 
EVALUATE NORMAL 
TEST FOR OVERFLOW 



.•♦♦002 

;S0B OPERATOR 

;FREE-LOAD OFF BRANCH OPERATOR 

.'♦♦018 EXTEND SIGN 

.■POSITIVE FOR BACKWARDS 

.■♦♦018 IF BKWDS BRANCH. MASK TO SIX BITS 

.♦♦016 ELSE. TREAT AS ERROR 

.•♦♦018 PROCESS DEFAULT BRANCH ADDR 

.■♦♦002 

.SPL TYPE 

.-ONLY THREE BITS ALLOWED 

;^^002 



012705 1'7700 

050500 

001404 

040500 
000207 



MARKOP: 






.MARK OPERATOR 




ABSEXP 




.■EVALUATE ABSOLUTE 


MASKB6^ 


MOV 


#1 77700. R5 


.■SET TO MASK HIGH ORDER 


MASKR5: 


BIT 


R5.R0 


.■OVERFLOW? 




BEQ 


IS 


; NO 




ERROR 


T 


;YES. FLAG TRUNCATION ERROR 




BIC 


R5,R0 


.CLEAR EXCESS 


11: 


RETURN 








.ENDC 




.•♦♦002 




.ENOC 







•••• K 15 •••• 



MAfBn Mlina 1i..l\Kr.T7 nOi^A BAfiC ■ 



PROPC f<lfCRO mi08 U-DEC-77 09:56 PAGE 8 



298 
299 
300 
301 
302 
303 
304 
305 
306 
307 
308 
309 
310 
311 
312 
313 
3U 
315 
316 
317 
318 
319 
320 
321 
322 
323 
32A 
325 
326 
327 
328 
329 



0005U 

000520 

000520 

000524 005267 OOOOOOG 

000530 005046 

000532 

000542 001456 

000544 ooono 

000546 

000054 

000054 

000060 

000064 

000070 

000074 000000 

000076 

000546 005716 

000550 001403 

000552 

000560 052716 000010 



AEXP:: 
AEXPI; 



SAVREG 



SETXPR 

INC EXPFL6 

CLK -(SP) 

AEXP02: CHSCAN AEXTBL 

BEQ AEXP22 

JMP (RO) 

PURE DPURE.D 



AEXTBL: 

GCHTBL 

GCHTBL 

GCHTBL 

GCHTBL 

.WORD 

PURE 

AEXP03: TST 
BEQ 
ERROR 

4S: BIS 



CH.IND. AEXP03 

CH.HSH. AEXP06 

CH.SUB, AEXP10 

CH.LP. AEXP12 

PUREI.I 

(SP) 
4S 

a 

#A«.DEF.(SP) 



.IF NOF XCREF 

BICB «200,CRFDFL 

.ENDC 



000564 000762 
000566 



AEXP06: 



BR 



000566 

000572 052716 000027 

000576 000510 

000600 

000600 020527 000050 

000604 001033 



^ mr 



i\6 



'16 000040 
000505 



AEXP02 



.IF NDF XFLTG 



81: 

9S: 

AE-tPIO: 



CNP 

BNE 

CALL 

BNE 

.ENDC 

GLBEXP 

BIS 

BR 

CMP 
BNE 



#0PCL11.0PCLAS 

81 

FLT61W 

9t 



#AM.im.(SP> 
AEXP32 

R5.*CH.LP 
AEXP20 



.IF NDF XCREF 

BtSB #200.CRF0FL 

.ENDC 



CALL AEXPLP 

BIS #A«.CEC.(SP) 

BR AEXP 36 



SAVE REGISTERS 
INTERNAL CALL ENTRY POINT 
AND SET "EXPRESSION" TYPE 

ACCUMULATE ON TOP OF STACK 
TEST FOR OPERATOR 

NO 
YES. GO TO IT 

♦ ♦017 

ADDRESS EXPRESSION TABLE 

••§" 

"(" 
TERMINATOR 

♦ ♦017 

"i", SECOND TIME AROUND? 

NO 

YES 
SET IT 



NO DESTRUCT REF ON SIMPLE INDIRECT 



LITERAL («) 

CLASS 11? 

NO 
YES, TRY FOR ONE-WORD FLOATING 
BRANCH IF Ok 

EVALUATE EXPRESSION 
SET BUS 
USE COMMON EXIT 
AUTO-DECREMENT (-) 
FOLLOWED BY "("? 
NOT A CHANCE 



DESTRUCT REF ON AUTO-DECREMENT 



.'PROCESS PARENS 



••*• L 15 **•• 



MArnn MIIOR U-DFC-77 09:56 PAGE 8-1 



PWJPC HACRO mi08 U 


-OEC-77 09:56 


PAGE 8-1 






355 000620 

356 

357 






AEXP12: 












.IF NOF 


XCREF 


358 












359 








TST 


PASS 


360 








BEQ 


101 


361 








TSTB 


CRFFIL 


362 








BEQ 


10S 


363 








BICB 


#200.CRFDFL 


364 








CALL 


6ETSYH 


365 








CALL 


CETNB 


366 








CHP 


R5,*'» 


367 








BNE 


5S 


368 








B1S6 


»200.CRFDFL 


369 






5S: 


CALL 


SEISYN 


370 






10$: 






371 












372 








.ENDC 




373 












374 












375 000620 


004767 


000216 




CALL 


AEXPLI 


376 000624 


020527 


000053 




CMP 


RS./rCH.ADD 


377 000630 


001005 






BNE 


141 


378 000632 








GETNB 




379 000636 


052716 


000020 




BIS 


«An.INC,(SP) 


380 000642 


000473 






Bft 


AEXP36 


381 000644 


032716 


000010 


US: 


BIT 


«AM.DEF.(SP) 


382 000650 


001003 






BNE 


16$ 


383 000652 


052716 


000010 




BIS 


#An.DEF.(SP) 


384 000656 


000465 






BR 


AEXP36 


385 000660 


005013 




161: 


CLR 


(R3) 


386 000662 


005014 






CLR 


(R4) 


387 000664 


050016 






BIS 


R0,(SP) 


388 000666 


052716 


000060 




BIS 


«AM.NDX.(SP) 


389 000672 


000452 






BA 


AEXP32 


390 000674 






AEXP20 


SETSYM 




391 000700 






ACXP22. 


GLBEXP 




392 000704 


020527 


000050 




CNP 


R5.*CH.LP 


393 000710 


001421 






BEQ 


24i 


394 000712 


032713 


000001 




BIT 


«REGFLG.(R3) 


395 000716 


001045 






BNE 


AEXP36 


396 








.IF NOF 


XEDPICIXEDAMA 


397 000720 


005716 






TST 


(SP) 


398 000722 


001007 






BNE 


23$ 


399 








.IF NDF 


XEDPIC 


400 








BIT 


#ED.P1C.EDMASK 


401 








BNE 


1$ 


i 








BIT 


»GLBFLG.(R3) 








BNE 


2$ 








CNPe 


(R2).CLCSEC 


405 








BEQ 


1? 


tsl 






Iti 


BR 








.ENDC 




409 








.IF NDF 


XEDAHA 


410 000724 

411 000732 


032767 


OOOOOOC OOOOOOG 


BIT 


#Id.ai^.ednask 

23$ 


001003 






BNE 



t 



IS THIS FIRST PASS? 

IF EQ YES~NO CREF OUTPUT 

IS THERE A CREF OUTPUT FILE? 

IF EQ NO 

ASSUME SIMPLE INDIRECT (NON-DE STRUCT) 

GET THE REGISTER SYMBOL 

SKIP THE RIGHT PAREN 

IS THE NEXT CHARACTER A •♦'? 

IF NE NO 

DE STRUCT REF ON AUTO-INCREMENT 

RESTORE LINE SCAN BEFORE SYMBOL 



EVA'.UATE REGISTER 
AUTO-INCREMENT (♦)? 

NO 
YES. POLISH IT OFF 
SET BITS 

INDIRECT SEEN? 

YES 
NO. SET BIT 

MODE 

AND VALUE 
♦♦001 SET THE REGISTER VALUE 
♦♦001 SET INDEXED ADDRESS MODE 
♦♦001 BRANCH TO STORE CODE 
AUTO-DEC FAIIURE. POINT TO - 
GET AN EXPRESSION 
INDEXED? 

YES 
FLAGS 



.•ABSOLUTE MODE REQUESTED? 
; NO 



•••• M 15 •♦•• 



PROPt MACRO MIIOU U-OEC-77 09:S6 PACT 8-2 



PROPC MACRO mi08 U-OEC-77 09:56 PAGE 8-2 



A12 

AI3 00073A 

AH 00O7A0 

A15 

A16 

^17 0007A2 

A18 0007A6 

419 000752 

A20 00075A 

A21 000760 

A22 000762 

A23 000770 

A2A 00077A 

A25 001000 

426 

A27 

428 

A29 

430 

431 

432 

433 

434 

435 001004 

436 001010 

437 001012 

438 001016 

439 001020 

440 001024 

441 001030 

442 001030 

443 001032 

444 001034 

445 001036 

446 001036 

447 001042 

448 001046 

449 001052 

450 001054 

451 001060 

452 001066 
453 

454 



052716 
000427 



052716 

000424 
032713 
001405 

042713 



004767 
050016 
052716 
000404 



005000 
052600 
000207 



004767 
0205P7 
001002 
000167 

000207 

000001 



000037 

000067 
000001 
000001 



2S: 

23$: 
24S: 

26S: 



000026 
000060 



177204 
000051 

OOOOOOG 



AEXP32: 
AEXP34: 
AEXP35 : 

AEXP36: 

AEXPLP: 

AEXPL1 : 

II: 



.ENDC 






BIS 


ffAM.imiAM.DEF 


.(SP) ;0K. SET ABS MODE 


BR 


AEXP32 




.ENDC 






BIS 


»An.REL.(SP) 


;N0 


SETDSP 




;SET DISPLACEMENT 


BR 


AEXP34 




BIT 


#REGFLG.(R3) 


; FLAGS 


BEQ 


26S 




ERROR 


R 




BIC 


#REGFLG.(R3) 


.•FLAGS 


SETIMM 




.•♦♦001 SET IMMEDIATE MODE 


ST CODE 




;^*001 STORE IN CODE ROLL 


.IF NDF 


XCREF 




BICB 


#200.CRFDFL 


.•NO DESTRUCT REF ON INDEXED REG 


.ENDC 







CALL 


AEXPLP 


; PROCESS INDEX 


BIS 


RO,(SP) 


.•♦♦001 SET THE REGISTER VALUE 


BIS 


«AM.NDX,(SP) 




BR 


AEXP35 


;++001 SKIP THE CODE STORE 


SETIMM 






STCODE 







CLR 
BIS 
RETURN 

GETNB 

CALL 

CMP 

BNE 

JMP 

ERROR 

RETURN 

.END 



RO 
(SP)^,RO 



REGEXP 

R5,#CH.RP 

1$ 

GETNB 

Q 



.•♦♦001 



AEXP PAREN PROCESSOR 
BYPASS PARb'N 

GET A REGISTER EXPRESSION 
HAPPY ENDING ")"? 

NO 
YES. BYPASS AND EXIT 
NO 



•*** N 1) *•*« 



PRGPC MACRO mi08 1A-DEC-77 09:56 PAGE 8-3 
SYMBOL TABLE 



ABSEXP> 

AEXP 

AEXPI 

AEXPLP 

AEXPJ.1 

AEXP02 

AEXP03 

AEXP06 

AEXP10 

AEXP12 

AEXP20 

AEXP22 

AEXP32 

AEXP34 

AFXP55 

AEXP36 

AEXTBL 

AM.DEC' 

AM.DEF> 

AM.INC" 

AM.NOX> 

AM.PC ' 

AM.REL- 

ASTFLG" 

BASCOD> 

BLKT01- 

BLKT02> 

BLKTOS- 

BLKTM- 

BLKT05- 

BLKTd6- 

BPMB - 

BRERR 

BROP 

BVTMOO- 

CHSCAN> 

CN.AOD- 

CH.AND> 

CH.BSL> 

CM.COL' 

CH.CQM- 

CH.O!V« 

cH.na* 

. ABS. 



****** GX 

0005URC 

000S20R 

001036R 

001042R 

000S32R 

C00S46R 

000566R 



20R 
0Q0674R 
000700R 
001020R 
001024R 
001030R 
0O1032R 
0OOOS4R 
000040 
000010 
000027 
000020 
000060 
000007 
000067 
0001 U 
****** GX 
000001 
000002 
000003 
000004 
000005 
000006 
000020 
0003MR 
000300R 
****** 
****** 



000053 
000046 
0OO134 
000072 
000054 
000057 
000044 



GX 
GX 



CH.0OT« 
002 CH.EQU' 
002 CH.HSH: 
002 CH.IND- 
002 CH.IORs 
002 CH.LAB- 
002 CH.LP s 
002 CH.MUL« 
002 CH.PCT* 
002 CH.OM > 
002 CH.QTM« 
002 CH.RAB* 
002 CH.RP > 
C02 CH.SNC« 
002 CH.SUB> 

002 CH.UAR> 

003 CH.XCL« 
CLCLOC 
CLCSEC- 
CODLST 
CPL " 
CPXADD> 
CPXANO> 
CPXCOM- 
CPXCON- 
CPXDIV- 
CPXFL6- 
CPXGLB* 
CPXIOR" 
CPXMUL* 
CPXNEG* 
CPXOPC" 
CPXREL- 

OO: CPXSDS- 
002 CPXSTO- 
CPXSIiB- 
CR > 
CSTACC- 
CSTALO- 
CSTFLG- 
CSTGBL" 

csrwM- 

CSTREL- 
CSTTyp. 



000056 
000075 
000043 
000100 
000041 
000074 
000050 
000052 

r45 
77 
000042 
000076 
000051 
000073 
000055 
000136 
000047 
■ ****** 



8 ****** 

000120 
000001 
000005 
000011 
000020 
000004 
000200 
000016 
000006 
000003 
000010 
000010 
000017 
000013 
000012 
000002 
000015 
"•0020 



100 

1001 

J040 

000200 



GX 
GX 
GX 




PEFf-LG- 000010 
DFGFLG': 000020 
OFLGBrt* ****** GX 
DFLGEV= **•♦»* GX 
DIG.O ' 000060 
DIG.9 ' 000071 
EOMASK* ••*•** GX 
FO.A«A« ****** GX 
ERRBTSs ****** GX 
ERR. A . ****** GX 
ERR.B « ****** GX 
ERR.Q « ****** GX 
ERR.R « ****** GX 
ERR.T « ****** GX 
EXPFLG« ♦•••*• GX 
EXPR « ****** GX 
FF > OOOOU 
GETNB « ****** GX 
GL8EXP« ****** RX 
GLBFL6- 000 00 
GSDTOO- OOOOCO 
GSDTOI- 000400 
GSDT02' U01000 
GSDT03> 001400 
GSDT04> 002000 
GSDT05> 002400 
GSDT06> 003000 
ILVL > 000001 
LBLFLG- 000002 
LET. A • 000101 
LET.B ■ 000102 
LET.C > 000103 
LET.D ■ 000104 
LET.E > 000105 
LET.F - 000106 
LET.G > 000107 
LET.O • 000117 
LET.; > 000132 
LF - 000012 
LINLEN- 000204 
LPP • 000074 
LSTLEN- 000204 
LST.KB' 000001 



PURE! 

DPURF 000d76 

ERRORS DETECTED! 

)(i2iy!t 2S222! "*??i '*'o wor«>s < '* p^o"> 

ELAPSED TIME ! 00 i 00 i 52 
PROPC.M0.303PROPC/-SP-C30,103RSXPAR.MPARA«.GENI<IC.FLGDF.PROPC 



LST.LP« 

MARKOP 

MASKR6 

MASKR3 

W>FFLG« 

NODE « 

NUSSEC< 

06JLEN* 

OPCLAS« 

OPCL00« 

OPCL01« 

OPCL02« 

0PCL03- 

0PCL04« 

0PCL05" 

0PCL06« 

0PCL07« 

0PCL08> 

0PCL09« 

OPCLIO* 

OPJBAS 

CPJ1BL 

nCRCNT" 

PROPC 

PSTFLG- 

REGEXP 

REGFLG< 

RELEXP« 

RELFLG- 

RLDLEN* 

RLDTOO* 

RLDTOI* 

RLDT02* 

RLDTOS* 

RLDT04> 

RLDT05> 

RLDTQ6> 

RLDT07r 

RLOTIO- 
RLDT11* 
RLDT15* 
RLDT16> 
RLDT17* 



GX 



G 
6 
G 
G 
G 
G 
6 
G 
C 
G 
G 



000002 

000466R 

500472R 

0004 76R 

000004 

****** 

000004 

000052 

****** GX 

000000 

000001 

000002 

000003 

000004 

000005 

000006 

000007 

000010 

000011 

000012 

000250R 

OOOOOOR 

****** QH 

OOOOOORG 

000050 

OOOJS^R 

000001 

****** 

000040 
000052 
000000 
000001 
000002 
000003 
U000Q4 
000005 
000006 
000007 
000010 
000011 
000015 
000016 
000017 



GX 



RSX11M= 
002 R$$11M< 
002 SAVREG* 
002 SECTOR" 
SETOSP« 
SETIHM* 
SETS VMS 
SETXPR« 
SMLLEN> 
SOBOP 
SPACE « 
SRCLEN> 
STCODE> 
STLLEN* 
SUBMAC' 
SVMBOL' 
TAB « 
TRAPOP 
TSTARG« 
TTLLEN« 

002 VALUE ' 

003 VT 
XBSRCH' 

002 XCREF > 
XEDAOS' 

002 XEDCDR> 
XEDCRF* 
XEOFPT« 
XEDLC « 
XEOPIC- 
XEDPNC* 
XFLTG « 
X0PEXP« 
XRGERR* 
XSUBD « 
XZERR « 
X45 « 
YQCMO « 
MP . 

:apcpx« 

ICVRL • 

torcoD> 

tWRMPG* 



000000 
000000 

****** GX 
****** GX 
****** GX 
****** GX 
**•<(** GX 
****** GX 
000120 

000446R 002 
000040 
000204 
****** GX 
000100 
OOOOO'i 
****** GX 

000011 

000354R 002 

****** GX 

000040 

****** GX 

000013 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

****** GX 

****** GX 

****** GX 

****** GX 

****** GX 



•**• i \i •••• 




•**• c 16 ***• 



PROSW MACRO Ml 108 1A-DEC-77 09:57 PAGE A 



.TITLE PROSW 
.IDENT /0«/ 



A5 000000 
A6 000000 






000000 

5A OOOOU 

55 OOOC^O 

56 000020 



COPYRIGHT 1972. DIGITAL EQUIPMENT CORP. 
COPYRIGHT 1973. DIGITAL EQUIPMENT CORP. 
COPYRIGHT 1974. DIGITAL EQUIPMENT CORP. 



MAYNARD. MASS 01754 
MAYNARD. MASS 01754 
MAYNARD. MASS 01754 



DEC ASSUMES NO RESPONSIBILITY FOR THE 
USE OR RELIABILITY OF ITS SOFTWARE ON 
EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COP.'fD (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

VERSION 04 

B. BOWER I NG 

MOUITTED BY: 



D.N. CUTLER 10-FEB-7? 
C.A. D'ELIA 04-OCT-73 
H.A. NICHOLS 18-JUN-74 



003 
017 



LOCAL MACROS 



THE MACRO "GENSWT" IS USED TO SPECIFY A COMMAND 

STRING SWITCH (1ST ARGUMENT) AND THE ADDRESS OF 

THE ROUTINE TO BE CALLED WHEN ENCOUNTERED (2ND ARC), 



LABEL: 



SWTBAS:: 



.MACRO 
.ASCIZ 

.WORD 
.ENDM 



GENSWT 
/MNE/ 
LABEL t2 
ADDR 



MNE,ADDR,?LABEL 

:TRIM TO ONE WORD 



SWTTOP:: 



PURE SWTSEC.D.GBL 

.IF NDF XCREF 

GENSWT CR.CRFSET 
.ENDC 

GENSWT DS.DSABL 

GENSWT EN.ENABL 

GENSWT 1 1. LI ST 

GENSWT NL.NLIST 



.•♦♦017 
;REF LABEL 



PURE PURE 1.1 



;REF LABEL 
,'♦♦017 



*•*• D 16 **** 



PROSW MACRO Ml 108 U-DEC-77 09:57 PAGE <.-1 



65 

66 000000 

67 00000^ 

68 000010 

69 000012 

70 000016 

71 000026 

72 000030 

73 000032 
7A 00003A 

75 000042 

76 000046 

77 000052 

78 000056 

79 000060 

80 000064 

81 000066 

82 000070 



e 



♦♦PROSW-PROCESS SWITCH 
INPUTS: 

R0=TWO CHARACTER ASCII SWITCH. 



PROSW: 



010021 
00A767 

00U20 
005013 
0111U 
012767 

005267 
004767 
005000 
056705 
001001 
005100 
000207 

000001 



OOOOOOG 



OOOOOOG OOOOOOG 

OOOOOOG 
OOOOOOG 

OOOOOOG 



IS: 



SAVREG 




SAVE REGISTERS 


SETXPR 




SET EXPRESSION-TYPE REGISTERS 


MOV 


R0,(R1)* 


SET ••SYMBOL" 


CALL 


XCTLIN 


ZERO LINE-ORIENTED FLAGS 


SCANW 


SWTROL 


SCAN FOR SWITCH 


BEQ 


IS 


NOT FOUND. EXIT ZERO 


CLR 


(R3) 


CLEAR •XODE" 


MOV 


(R1),<R4) 


ADDRESS TO 'VALUE" 


MOV 


#L1NBUF.CHRPNT 


POINT TO START OF LINE 


SETNB 




SET R5 


INC 


EXMFLG 


FLAG EXEC MODE 


CALL 


PROPC 


PROCESS AS OP-CODE 


CLR 


RO 


ASSUME ERROR 


BIS 


ERRBTS,R5 


ERROR OR NOT TERMINATOR? 


BNE 


IS 


YES, ERROR 


COM 


RO 


OK. SET .NE. ZERO 



RETURN 
.END 



••** i 16 **** 



rrr 



AAA* J_« 



PROSW MACRO M1108 
SYMBOL TABLE 



U-DEC-77 09:57 PAGE «-2 



AM.DECs 
AM.DEF= 
AM.IMM- 
AM.INC= 
AM.NOXs 
AM.PC = 
AM.REL^ 
ASTFLG= 
BLICT01 = 
W.ICT02= 
BLICT03= 
BLICT0A= 
BLKT05» 
BLKT06« 
CHRPN1= 
CH.ADDs 
CH.ANO- 
CH.BSL= 
CH.COLs 
CH.COM* 
CH.DIVs 
CH.DOL> 
CH.DOTs 
CH.EQU= 
CH.HSHs 
CH.UJDs 
CH.IOR* 
CH.LABe 
CH.LP = 



OOOOAO 

000010 

000027 

000020 

000060 

000007 

000067 

0001 U 

000001 

000002 

000003 

000004 

000005 

000006 

••**** GX 

000053 

0000A6 

0001 3A 

000072 

00005A 

000057 

OOOOAA 

000056 

000075 

0000A3 

000100 

0000A1 

00007A 

000050 



CH.MUL= 

CH.PCT= 

CH.QM = 

CH.QTM= 

CH.RABs 

CH.RP = 

CH.SMC= 

CH.SUB- 

CH.UAR= 

CH.XCL= 

CPXADD- 

CPXAND- 

CPXC0M= 

CPXCON* 

CPX01V= 

CPXFLG» 

CPX6LB= 

CPXlORs 

CPXWJL= 

CPXNEGs 

CPXOPCs 

CPXREL= 

CPXSOS« 

CPXSTO» 

CPXSUBa 

CR 

CSTACCs 

CSTALO* 

CSTFLG» 



000052 
0000A5 
000077 
00OOA2 
000076 
000051 
000073 
000055 
000136 
0000A7 
000001 
000005 
000011 
000020 
OOOOOA 
000200 
000016 
000006 
000003 
000010 
000010 
000017 
000013 
000012 
000002 
000015 
000020 
OOOOOA 
000050 



CSTGBL= 

CSTMEM= 

CSTREL= 

CSTTYP= 

DEFFLG= 

0F6FL6= 

DIG.O = 

DIG. 9 = 

DSABL = 

ENABL = 

ERRBTS= 

EXMFLG= 

FF 

GLBFLG<s 

GSDTOOs 

GSDTOIs 

GS0T02= 

6SDT03* 

GSDT0A= 

6SDT05» 

GSDT06- 

ILVL = 

LBLFLG* 

LET. A = 

LET.B = 

LET.C = 

LET.D = 

LET.E » 

LET.F = 



000100 
000001 
OOOOAO 
000200 
000010 
000020 
000060 
000071 
****** GX 



****** 
****** 
****** 
00001 A 
000100 
000000 
OOOAOO 
001000 
001 AOO 
002000 
002A00 
003000 
000001 
000002 
000101 
000102 
000103 
0001 OA 
000105 
000106 



6X 
6X 
GX 



. ABS. 000000 
000000 
SWTSEC 000020 
PURE I 000072 
ERRORS DETECTED: 



000 
001 
002 
003 



VIRTUAL MEMORY USED: 2651 WORDS ( 11 PAGES) 
DYNAMIC MEMORY: 157AA WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:16 

PROSW. [30, 30]PROSW/-SP«C30,10]RSXPAR,GENMC,FLGDF .PROSW 
RO 



LET.G = 

LET.O = 

LET. 7 = 

LF 

LINBUF= 

LIST = 

LST.KB= 

LST.LP= 

MDFFLG= 

NLIST = 

NUSSEC- 

PROPC = 

PROSW 

PSTFL6= 

REGFLG= 

RELFLG= 

RLDT00« 

RLDT01« 

RLDT02= 

RL0T03= 

RLDTOA= 

RLDT05= 

RLDT06» 

RLDT07= 

RLDT10= 

RLDTlls 

RLDTl5-= 

RL0T16= 

RLDT17= 



000107 




RSX11M= 


000000 


000117 




RS$11M= 


000000 


000132 




SAVREG= 


****** GX 


000012 




SCANW = 


****** GX 


****** 


GX 


SETNB = 


****** GX 


****** 


GX 


SETXPR= 


****** GX 


000001 




SPACE = 


OOOOAO 


000002 




SUBMAC= 


000001 


OOOOOA 




SWTBAS 


OOOOOORG 


****** 


GX 


SWTROL= 


****** GX 


OOOOOA 




SWTTOP 


000020RG 


****** 


GX 


TAB = 


000011 


OOOOOORG 


003 VT 


000013 


000050 




XBSRCH= 


000000 


000001 




XCREF = 


000000 


OOOOAO 




XCTLIN= 


****** GX 


000000 




XEDABS= 


000000 


000001 




XEDCDR= 


000000 


000002 




XEDFPT= 


000000 


000003 




XEDLC = 


000000 


OOOOOA 




XEDPIC= 


000000 


000005 




XEDPNC= 


oooooc 


000006 




XFLTG = 


OOOOOf 


000007 




XOPEXP= 


OOOOOO 


000010 




XRGERR- 


000000 


000011 




XSUBO = 


000000 


000015 




XZERR = 


000000 


000016 




XA5 = 


000000 


000017 









002 
002 



*•*• f 16 **** 




**** G 16 **** 



kl c. 




*•** H 16 ***• 



BCT MArDn Mima i/..hcr.77 no-s? pagf 2 



PST MACRO M1108 U-DEC-77 09:57 PAGE 2 



43 



000200 
000100 

000040 

000020 
000010 
000004 
000002 

000000 



■'V. 



.TITLE PST 
.IDENT /08/ 



COPYRIGHT (C) 1972.1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 08 
B. BOWERING 



MODIFIED BY: 



D.N 
C.A 
C.A. 
C.A. 



CUTLER 
D'ELIA 
D'ELIA 
D'ELIA 
H.A. NICHOLS 
C.A. D'ELIA 
D'ELIA 
D'ELIA 



C.A. 
C.A. 



10-FE8-73 
22-SEP-73 
15-NOV-75 
25-JAN-7A 
18-JUN-74 
02-JAN-75 
01-MAY-75 
13-0CT-76 



002 
008 
Oil 
017 
018 
019 
029 



(IMPR PERFORMANCE) 



PERMANENT SYMBOL TABLE 
EQUATED SYMBOLS 



DR1« 
DR2« 



200 




10 
B$YT0P««40 



DFLGEV"020 
DFLGBMe>Q10 
DFLCND»dQ4 
DFLMAC==002 

PSTCNT«0 



.-DESTRUCTIVE REFERENCE IN FIRST FIELD 
.•DESTRUCTIVE REFERENCE IN SECOND FIELD 

.'♦♦Oil OPCODE ALSO HAS BYTE FORM 

.-DIRECTIVE REQUIRES EVEN LOCATION 
;DIRECTIVE USES BYTE MODE 
.-CONDITIONAL DIRECTIVE 
;MACRO DIRECTIVE 

;»»029 PST ENTRY COUNTER 



**** I 16 ***• 



M&rbn Hlina ^L..r^tt^77 nQ*^7 Okr.f 9>1 



PST 



MACRO Ml 108 U-DEC-77 09:57 PAGE 2-1 



I ■ 

fl 

99 
100 
101 
102 
103 
104 
105 

!§? 

108 

109 

110 000000 

111 

113 
1U 



; LOCAL MACROS 








.IF DF 


PAL11R 


;PAL11R 


SUBSET 


XMACRO= 








X«0= 








X«5= 








.ENDC 








.IIF DF 


XA0KXA5, 


XFLTG^ 





.IIF OF 


XMACRO, XSML= 







.MACRO 


OPCDEF NAME. 


CLASS. 


VALUE. 


.IF NB 


<COND> 






.IF DF 


COND 






.MEXIT 








.ENDC 








.ENDC 








PSTCNT=PSTCNT+1 




.•♦t029 




.RAD50 


/NAME/ 






.BYTE 


FLAGS+0 






.BYTE 


200*OPCL' CLASS 






.WORD 


VALUE 






.ENDM 








.MACRO 


DIRDEF NAME. 


FLAGS. 


COND 


.IF NB 


<C0ND> 






.IF DF 


COND 






.MEXIT 








.ENDC 








.ENDC 








PSTCNT«PSTCNT»1 




.-♦♦029 




.RAD50 


/.'NAME/ 






• BYTE 


FLAGS+0, 







.WORD 


NAME 






.ENDM 








.MACRO 


DIRDF1 NAME. ENTRY. FLAGS 


.COND 


.IF NB 


<C0N0> 






.IF DF 


COND 






.MEXIT 








.ENDC 








.ENDC 








PSTCNT-PSTCNTtI 




.•♦♦029 




.RAD 50 


/.'NAME/ 






.BYTE 


FLAGS. 






.WORD 


ENTRY 






.r>"^M 









PURE PSTBL.GBL.D ,•♦♦017 
I ♦♦029 
: THE SHORT ENTRY PERMANENT SYMBOL TABLE (3-WORDS PER ENTRY) 



•*** J 16 ••** 



D<T 



Mirnn miior u-nrr-77 09:*S7 pagf 2-2 



I 



PST MACRO mi 08 1- 


115 


116 


117 


118 


119 


120 


121 000000 


122 000000 


123 000006 


12A OOOOU 


IS-* 000022 


126 000030 


127 000036 


128 00004A 


129 000052 


130 000060 


131 000066 


132 000074 


133 000102 


13A 000110 


135 000116 


136 000124 


137 000132 


138 OOOUO 


139 000U6 


UO 0001 5A 


HI 000162 


U2 000170 


U3 000176 


U4 000204 


U5 000212 


U6 000220 


H7 000226 


U8 000234 


149 000242 


150 000250 


151 000256 


152 000264 


153 000272 


154 000500 


155 000306 


156 000314 


157 000322 


158 000330 


159 000336 


160 000344 


161 000352 


162 000360 
168 000366 


164 000374 


165 000402 


\m 


.10 
U6 


16S QOO' 


.24 


% ooS 


UO 


171 0004 


U6 



14-0EC-77 09:57 PAGE 2-2 



IS ORDERED BY INSTRUCTION USAGE FREQUENCY. (DATA AVAILABLE 
FROM R*D GROUP.) THIS IS POSSIBLE SINCE THIS TABLE IS 
SEARCHED LINEARLY WITHOUT REGARD FOR LEXICAL RELATIONSHIPS. 



-029 
SSTBAS:: 



OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
DIRDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDF 
OPCDi: 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDi: 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 



<MOV> 
<JSR> 
<BEa> 
<BR > 

<aNE> 

<ADD> 
<CLR> 
<CMP> 
<TST> 
<RTS> 
<JMP> 
<SUB> 
<INC> 
<DEC> 
<BCC> 
<8CS> 
<ASL> 
<IF>. 
<EMT> 
<8IT> 
<BIC> 

<eis> 

<BGE> 
<BGT> 
<8HI> 
<8LE> 
<8L0> 
<8LT^ 
<BMI> 
<flPL> 
<ASR> 
<ROL> 
<ROR> 
<ADC> 
<NEG> 
<COM> 
<SOB> 
<MUL> 
<DIV> 
<SBC> 
<SEC> 
<CLC> 
<BVC> 
<8VS> 
<RT1> 
<RTT> 
<ASH> 
<8PT> 
<CCC> 
<CLN> 



02 
05 
04 
04 
04 
02 
01 
02 
01 
03 
01 
02 
01 
01 
04 
04 
01 



DFLCND 



06 
02 
02 
02 
04 
04 
04 
04 
04 
04 
04 
04 
01 
01 
01 
01 
01 
01 
08 
07 
07 

Si 

00 
04 

00 



;REF 
010000 
004000 
001400 
000400 
001000 
060000 
005000 
020000 
005700 
000200 
000100 
160000 
005200 
005300 
103000 
103400 
006300 



104000 
030000 
040000 
050000 
002000 
003000 
101000 
003400 
103400 
002400 
100400 
100000 
006200 
006100 
006000 
005500 
005400 
005100 
077000 
070000 
071000 
005600 
000261 
000241 
102000 



ooooa 



000006 




LABEL 
DR2!BSYT0P 
DR1 



DR2 

DR1 !8$YT0P 

BSYTOP 

B»YT0P 

DR1 

DR2 

DR1 !B$YTOP 
DR1 IBSYTOP 



DR1 !B$YTOP 



BtYTOP 
DR2! BSYTOP 
DR2! BtYTOP 



DRi: BSYTOP 
DR1 !B$YTOP 
DR1! BSYTOP 
DR1 IBSYTOP 
0R1 IBSYTOP 
DR1 IBSYTOP 
DR1. 
0R2. 
DR2, 
DR1 IBSYTOP 



X40ftX45 
X40tX45 
X40tX45 



6r2. 



X40tX45 
X4dllX45 
X401X45 



•*** K 16 ••*« 



MArnn Ml ma ii..nKr.77 no>^7 PAr.F 9>1 



1 



PST MACRO Mil 08 U-OEC-77 09:57 



172 000A5A 

173 000A62 
17A 0OOA70 

175 000A76 

176 000A76 

177 0OOA76 

178 000504 

179 000512 

180 000520 

181 000526 

182 00053A 

183 000534 

184 000534 

185 000534 

186 000542 

187 000550 
188 

189 000170 

190 000170 
191 

192 

193 000550 

194 000550 

195 000550 

196 000550 

197 000550 

198 000550 

199 000560 

200 000570 

201 000600 

202 000610 

203 000610 

204 000610 

205 000610 

206 000610 

207 000610 

208 000610 

209 000610 

210 000620 

211 000630 

212 000640 

213 000650 

214 000660 

215 000660 

216 000660 

217 000660 

220 000660 

221 000660 
221 000660 

223 000660 

224 000660 

225 000670 

226 000670 

227 mm 

228 000710 



PAGE 2-3 
















OPCDEF 


<CLV>. 


00. 


000242. 








OPCDEF 


<CLZ>. 


00. 


000244. 








OPCDEF 


<10T>. 


00. 


000004. 








OPCDEF 


<LDD>, 


11. 


172400. 


DR2, 


X45 




OPCDEF 


<LDF>. 


11. 


172400. 


DR2. 


X45 




OPCDEF 


<N0P>. 


00. 


000240. 








OPCDEF 


<SCC>, 


00. 


000277. 








OPCDEF 


<SEN>, 


00. 


000270. 








OPCDEF 


<SEV>, 


00. 


000262. 








OPCDEF 


<SEZ>. 


00. 


000264. 








OPCDEF 


<SPL>. 


13. 


000230. 


/ 


X45 




OPCDEF 


<STD>. 


12. 


174000. 


DR2. 


X45 




OPCDEF 


<STF>. 


12. 


174000. 


DR2. 


X45 




OPCDEF 


<SXT>. 


01. 


006700. 


DR1. 


X40ftX45 




OPCDEF 


<XOR>, 


05. 


074000, 
.•♦♦01 

■ i^ns 


DR2, 


X40tX45 


SSTTOP: 


DcrriLiTAa 






1 END OF 
a nru lOi c 


SHORT ENTRY SYMBOL TABLE 
rniikiT cno dvtc iki~TDiirTinuc 



$SSTCT»«PSTCNT 



PSTBAS: 



OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 
OPCDEF 



.•♦♦029 NUMBER OF SYMBOLS IN SST 



<ABSD > 


01. 


<ABSF > 


01. 


<ADDD > 


11. 


<ADDF > 


11. 


<ASHC > 


09. 


<BH1S > 


04. 


<BLOS > 


04. 


<CALL > 


01. 


<CFCC > 


00. 


<CLRD > 


01. 


<CLRF > 


01. 


<CMPD > 


11. 


<CMPF > 


11. 


<D1VD > 


11. 


<D1VF > 


11. 


<FADD > 


03. 


<FD1V > 


, ?i: 


<FMUL > 


<FSUB > 


03. 


<HALT > 


00. 


<LDCDF > 


11. 


<LDCFD > 


11. 


<LDCID > 


14. 


<LDCIF > 


u. 


<LDCLD > 


14. 


<LDCLF > 


14. 


<LDEXP > 


14. 


<LDFPS > 


01. 


<LDSC > 


; §S: 


<LDue > 


<MARK > 


10. 


<MFPD > 


1. 


<MFP1 > 


01, 


<MFPS > 


01. 


<MODD > 


11. 



REF LABEL 

170600. DR1. 

170600. DR1. 

172000. DR2. 

172000. DR2. 

073000. DR2. 
103000. 
101400. 
004700 
170000. 

170400. DR1 

170400. DR1 
173400. 
173400. 

174400. DR2 

174400. DR2 

075000. DRl 

075030. DRl 

075020. DRl 

075010. DRl 
000000. 

177400. DR2 

177400. DR2 

177000. 0R2 

177000. DR2 

177000. DR2 

17^000. DR2 

176400, 0R2 
170100, 

VM: 

006400, , 
106500, 

006500, . 

106700. DRl 

171400. WP. 



X45 
X45 
X45 
X45 
X40KX45 



.•♦♦018 

X45 

X45 

X45 

X45 

X45 

X45 

X45 

X40 

X40 

X40 

X40 

X45 

X45 

X45 

X45 

X45 

X45 

X4S 

X4S 

X45 

X45 

X40ftX45 .•♦♦002 

X45 

X40IX4S .•♦♦002 

.♦♦019 

X45 



*••• L 16 **** 



P<tT 



MArRO Ml 108 U-DFC-77 09:57 PAGF 2-4 



PST 



MACRO mi08 U-OEC-77 09:57 PAGE 2-4 



229 000710 

230 000710 

231 000710 

232 000720 

233 000730 

234 000730 

235 000730 

236 000730 

237 000730 

238 000740 

239 000750 

240 000750 

241 000750 

242 000750 

243 000750 

244 000750 

245 000750 

246 000750 

247 000750 

248 000750 

249 000750 

250 000750 

251 000750 

252 000750 

253 000750 

254 000750 

255 000750 

256 000750 

257 000750 

258 000760 

259 000770 

260 000770 

261 000770 

262 001000 

263 001010 

264 001020 

265 001030 

266 001040 

267 001050 

268 001060 
269 

270 
271 

272 001070 

273 001100 

274 001110 

275 001120 

276 001130 

277 001140 

278 001150 

279 001150 
|80 001160 

281 001170 

282 001170 

283 001170 

284 001200 
285 



OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
OPCDE 
DIRDE 
DIRDE 
DIRDE 
DIRDE 
DIRDE 
DIRDE 
DIRDE 
.IF D 
DIRDE 
.ENDC 
DIRDE 
DIRDE 
DIRDE 
DIRDE 
DIRDF 
DIRDF 
DIRDE 
DIRDE 
DIRDE 
DIRDE 
DIRDE 
DIRDE 
DIRDF 
.IF Nl 



<MODF 

<MrPD 

<MTPI 

<MTPS 

<nULD 

<MULF 

<NE6D 

<NEGF 

<RESET 

<RETURN 

<SETD 

<SETF 

<SETI 

<SETL 

<STAO 

<STBO 

<STCDF 

<STCDI 

<STCDL 

<STCFD 

<STCF1 

<STCFL 

<STEXP 

<STFPS 

<STQO 

<STST 

<SUBD 

<SUBF 

<SWAB 

<TRAP 

<TSTD 

<TSTF 

<yAIT 

<ASCII>. 

<ASCIZ>. 

<ASECT>. 

<BLKB > 

<8LKW >. 

<8yTE >. 

<CSECT>, 

yPHASE 

<DEPHA> 



11. 


171400. 


DR2. 


X45 


01. 


106600. 


DR1 


X45 


01. 


006600, 


DR1, 


X40&X4 


01. 


106400 




.•♦♦019 


11. 


171000, 


DR2. 


X45 


11, 


171000, 


DR2. 


X45 


01, 


170700. 


DR1. 


X45 


01. 


170700. 


DR1 


X45 


00, 


000005. 






00. 


000207 




.•♦♦018 


00. 


170011. 




X4: 


00. 


170001. 




X45 


00, 


170002. 




X45 


00, 


170012. 




X45 


00. 


170005. 




X45 


00, 


170006. 




X45 


12, 


176000, 


DR2 


X45 


12, 


175400, 


DR2 


X45 


12, 


175400. 


DR2 


X4S 


12. 


176000. 


DR2 


X45 


12, 


175400. 


DR2 


X45 


12, 


175400. 


DR2 


X45 


12, 


175000. 


DR2 


X45 


01. 


170200. 


DR1 


X45 


00. 


170007, 




X45 


01, 


170300. 


DR1 


X45 


11, 


173000. 


DR2 


X45 


11. 


173000, 


DR2 


X45 


01. 


000300. 


DR1 




06. 


104400, 






01. 


170500. 




X45 


01. 


170500. 




X45 


00. 


000001 . 






DFLGBM 








DFLGBM 








* 


XREL 






OFLGEV 








DFLGBM 









XREu 



<DSABL> 
<ENABL> 
<END > 

<ENDC >. DFLCND 
<fNDM >.OPCERR.DFLMAC.XMACR0 ;^^011 
<ENDR >,OPCERR.DFLMAC,XMACRO .•♦♦Oil 
<EOT >, .XSUBD .•♦♦018 
<ERROR> 
<EVEN > 

<FLr2 >. DFLGEV. XFLTG 

<FLT4 >, OFLGEV. XFLTG 
<GLOflL>. . XREL 
<IDENT> 
F XSUBD .•♦♦018 



•••* M 16 **•* 



1 CNOTL 
1 CNDTL 



FLOAT 
FLOAT 



MACROC 



M U 
N U 



PROCSI 



B 1 


CNDTL 


J 




FLOAT 


E 10 


MACROC 


M 


U 




C 1 


CNDTL 


K 




FLOAT 


F 10 




N U 


PROCSI 


D 1 


CNDTL 


L 






6 10 


M CROO 


B 15 


PROCSI 


E 1 




M 




GETLN 


H 10 


W- 10D 


C 




PROCSI 


F 1 


CODHD 


N 




GETLN 


' IS 


MACROD 


D 




PROCSI 


G 1 


COOHD 


B 




GETLN 


J 10 


MACROD 


E 






H 1 


CODHD 


C 




GETLN 


K 10 




F 




PROPC 


1 1 


COOHD 


D 




GETLN 


L 1C 


MACRS 


G 




PROPC 


J 1 


CODHD 


E 




GETLN 


M 10 


MACRS 


H 




PROPC 


< 1 


CODHD 


F 






N 10 


MACRS 


I 




PROPC 


L 1 


COOHD 


G 




GMARG 


B 11 


MACRS 


J 




PROPC 


M 1 




H 




GMARG 


C 11 


MACRS 


K 




PROPC 


N 1 


CRFFIL 


1 




GMARG 


D 11 


MACRS 


L 




PROPC 


B 2 


CRFFIL 


J 






E 11 


MACRS 


M 15 


PROPC 


C 2 


CRFFIL 


K 




INFIL 


F 11 


MACRS 


N 15 


PROPC 


D 2 




L 




INFIL 


G 11 


MACRS 


B 


16 


PROPC 


E 2 


CRFIO 


n 




INFIL 


H 11 




C 


16 




F 2 


CRFIO 


N 




INFIL 


I 11 


MAC11 


D 


16 


PROSW 


G 2 


CRFIO 


B 




INFIL 


J 11 


MAC11 


E 


16 


PROSW 


H 2 




C 




INFIL 


K 11 


MAC11 


F 


16 


PROSy 


I 2 


DATDR 







INFIL 


L 11 


MAC11 


G 


16 




J 2 


DATDR 


E 




INFIL 


M 11 


MAC11 


H 


16 




K 2 


DATDR 


F 






N 11 


MAC11 


I 


16 


PST . 


L 2 


DATDR 


G 




INIFL 


B 12 


MAC11 


J 


16 


PST 


M 2 




H 




INIFL 


C 12 


MAC11 


K 


16 


PST 


N 2 


ENRDS 


1 




INIFL 


D 12 


MAC11 


L 


16 


PST 


B ! 


ENBDS 


J 




INIFL 


E 12 


MAC11 


M 


16 


PST 


C ] 


ENBOS 


K 




INIFL 


F 12 


MAC11 








I 




L 




INIFL 


G 12 










E ! 


ENDLN 


M 






H 1? 


MCALL 








F 3 


ENDLN 


N 




INOFL 


I 12 


MCALL 








G ? 


ENDLN 


B 




INOFL 


J 12 


MCALL 








H 3 


ENDLN 


C 




INOFL 


K 12 










I ! 


ENDLN 


D 




INOFL 


L 12 


MLIBS 








J ! 


ENDLN 


E 




INOFL 


n 12 


Ml IBS 








K ] 




F 




INOFL 


N 12 


MLIBS 








L 3 


ENOPS 


G 




INOI-'L 


B 13 


MLIBS 








M ] 


ENOPS 


H 




INOFL 


c i: 


MLIBS 








H ! 


ENOPS 


1 






D 1! 










B 4 


ENOPS 


J 




LABEL 


E 1] 


MPUSH 








C < 


ENOPS 


K 




LABEL 


F i: 


MPUSH 








D 4 


ENOPS 


L 




LABEL 


G i: 


MPUSH 








E < 


ENOPS 


M 






H 1! 










F 4 




N 




LISTC 


I 1] 


MSCDR 








G 4 


EXPRS 


B 




LISTC 


J i: 


MSCOR 








H ^ 


EXPRS 


C 




LISTC 


K i: 


MSCDR 








1 < 


EXPRS 


D 






L i: 


MSCDR 








J 4 


EXPRS 


E 






M 1! 


MSCDR 








K < 


EXPRS 


F 




LSTNG 


N 13 


MSCDR 








L < 


Exprs 


G 




LSTNG 


B U 










M i 


EXPRS 


H 




LSTNG 


C 1< 


NDRCT 








H i 


EXPRS 


I 




LSTNG 


D 1< 


NDRCT 








B ! 


EXPRS 


J 




LSTNG 


E U 


NDRCT 








C ! 


EXPRS 


K 






F 1< 










! 


EXPRS 


L 




KACOP 


G 14 


OPTERR 








E 1 




M 




MACOP 


H 14 


C^TERR 








r ! 


f.OAT 


N 






I 14 


OPTERR 








G 1 


FLOA;- 


B 




MACROC 


J 14 


OPTCRR 








1 \ 


FLOAT 


C 




MACROr 


k 14 


npriRR 








FLOAT 


D 


MACROC 


L 14 


OPl.-RR 









PST 



MACRO M1108 U-DEC-77 09:57 PAGE 2-5 



17 
2M) 

289 001210 

290 

291 

29Z 

29! 



n 

296 
297 
298 
299 
300 

301 001220 

302 001230 
503 

30A 

305 

506 001240 

307 001250 
001260 
001270 

ilSlO 

!)! m 

5U 001340 
315 001550 

" ilH8 

. - iUOO 

19 00U1Q 

20 00U20 
21 





\l 



GOOOOO 



WNDSYMi I 
PSTTOPit 



DIRDF1 

DIRDF1 

.IFTF 

DIRDEF 

.IFT 

DIRDF1 

D1RDF1 

DIRi)F1 

D1RDF1 

DIRDFI 

DIRD.'I 

D1RDF1 

DIRDF1 

D1RDF1 

.IFTF 

DIRDEF 

DIRDEF 

.IFT 

DIRDF1 

.ENDC 

DIRDEF 

DIRDEF 

DIRDEF 

DIRDEF 

DIRDEF 

DIRDF1 

DIRDF1 

DIRDEF 

DIRDEF 

DIRDEF 

DIRDEF 

DIRDEF 

DIRDEF 

DIRDEF 

DIRDEF 

.IF DF 

DIRDEF 

.ENDC 

DIRDEF 

DIRDEF 

DIRDEF 

DIRDEF 

DIRDEF 

DIRDff 

DIRDEF 

DIRDEF 



|PS«AP;;.BUW 

IENMAPm 



<IFDF 
<IFEQ 

<IFF 

<IFG 

<IFGE 

<IFGT 

<IFI 

<IFi'' 

<IFl7 

<IFNDF 

<IFNE 

<IFN2 

<IFT 
<IFTF 

<IFZ 

<IIF 

<IRP 

<IRPC 

<LmiT 

<LIST 

<nACR 

<FMCR0 

<«CALL 

<«fXIT 

<NARG 

<NCHR 

<NLIST 

<NTypf 

<0DD 

<PA6E 

YF.,ASE 

<PHASE 

<PRINT 

<PSECT 

<RADIN 

<RAD50 

<R(M 

<REPT 

<SiTTl 

<T|flE 



,IFDF,DFLCND 
JFDF.DFLCND 

;»»011 

DFLCND 

;»»011 
.IFDF.'^FLCMD 
,IF".( ,>'fLCND 
.IIOF.DFLfND 
,1F'»( .'fW'J 
.IFDF.DFLli^D 
.IFDF. DFLCND 
,IFD', DFLCND 
,lFt, .DFLCNP 
JFDF, DFLCND 

;»»011 

DFLCND 

DFLCND 

.•♦♦011 
.IFDF, DFLCND 

;^^018 <XSUBD 

DFLMAC. XMACRO 
, DFLMAC. XMACRO 
DFLGEV. XREL 

.FMCR, DFLMAC. XMACRO 
.MACR, DFLMAC. XMACRO 
XSML 
XMACRO 
XMCRO 
, XMACRO 



— SUBSET DIRECTIVES^ 



XMACRO 



DFLGEV 

.XSUBD .•♦♦Oil 

DFLMAC. XMACRO 



DIRDEF <WCRD >. 

.PSECT PSTMAP.D.RW 

<PSTCNI«15.>/1A. 



;REF lABFL 
DFLGEV 
;REF LAIEL 



,•♦♦029 



j»»Q?9 Al LOCATE PST MAP 
.'♦♦O^Q RFM 



lABFl-rND Of MAP 



••«• 



TT 



»••• 



• ••• B 1 ik««« 




•**t c 1 •••• 



WWWW 1^ I wwww 



PST MACRO Ml 108 

SYMbCL TABLE 



ASCII 

ASCIZ 

ASECT 

BLKB 

BLKW 

BYTE 

B»VTOP 

CSECT 

DFICND 

DFLGBM> 

OFLQFV 

DFLMAC 

DR1 

DR2 

DSABL 

ENABL 

END 

ENDC 



OX 
(iX 
GX 
6X 
GX 
GX 
OOOOAO ti 



****** 

****** 
****** 



GX 

G 

G 

G 

G 



****** 

OOOOOA 

000010 

000020 

000002 

000200 

000100 

****** GX 

****** GX 

****** GX 

****** GX 



U-DEC-77 09:57 "AGE 1-7 



. ABS. 000000 
000000 
PSTBL 001530 
PSTMAP 000030 
FR«OR'. OEIECTED: 



000 
001 
002 
003 



ERROR » 
EVEN « 
GLOBL 
I DENT 
IF, 

IFT 

IFTF 

IIF 

ILVL 

IRP 

IRPC 

LIMIT 

LIST 

MACR 

MCALL 

MEXIT 

NARG 



****** 

****** 



****** 



****** 

000001 

****** 



GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 

GX 
GX 
GX 
GX 

^■X 
six 
GX 
GX 



VIRTUAL MEMORY USED: 969 WORDS ( 4. PAGES) 
DYNAMIC MEMORY: 1SM4 WORDl ( 60 PAGES) 
ELAPSED TIME: 00:00:31 
PST,C3O.3O]PST/-SP«C35.10]RSXPAR.PST 
Iq 



NCHR « *••••♦ GX PRINT = ••♦•** GX 

NLIST « ****** GX PSECT « «***•* GX 

NTYPE « *••*♦♦ GX PSTBAS OOOSSORG 

NUSSEC> 000004 PSTCNTo 000266 

ODD « ****** GX PSTTOP 001530RG 

OPCERR- •*•♦•• GX RADIX » •*•*•♦ 

OPCLO0« •••*«* GX RAD50 « ♦♦♦•♦* 

OPCL01« ♦•••♦• GX REPT « ****** 

OPCL02« •••♦•♦ GX RSX11M« 000000 

OPCL03> ****** GX RSt11M« 000000 

OPCLOA« ****** GX SBTTL « *♦*•*♦ 

OPCL05« ****** GX SSTBAS OOOOQORG 

OPCL06" ****** GX SSTTOP 000550RG 

OPCL07« ****** GX SUBMAC> 000001 

OPCL08" ****** GX TITLE ■ ****** GX 

OPCL09« ****** GX WORD '■ •***•• GX 

OPCLIO' ****** GX WRDSYM 001520RG 
PAGE « ****** GX 



GX 
GX 
GX 



GX 



002 



XBSRCH« 
XCREF = 

002 XEDABS« 
XEDCDR* 
XEDFPT« 
XEDLC « 
XEDPIC* 
XEDPNC" 
XFLTG « 
XOPEXP« 
XRGERR> 

002 ^SUBD « 

002 XZERR « 
X45 « 
SENMAP 
tPSMAP 

002 ISSTCT« 



000000 
000000 
OOOOcO 
000000 
000000 
OOOOQO 

» 

000000 

000000 

000000 

000000 

000000 

000000 

0000 30RG 

OOOOOORG 

000170 G 



OOi^ 
003 



••** 1 *••* 




••«• f 1 •*•• 



READ MACRO Ml 108 U-DEC-77 09:57 PAGE 3 



.TITLE 
.IDENT 



READ 
/03.01/ 



COPYRIGHT (C) 1972,1977 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNI^rR A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND M'it BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 03.01 
B. BOWERING 



MODIFIED BY: 



D.N. 


CUTLER 6 


C.A. 


D'ELIA 


C.A. 


D'ELIA 


C.A. 


D'ELIA 


N.A. 


NICHOLS 


C.A. 


D'ELIA 


C.A. 


D'ELIA 




CDOSQ 



■FEB-73 

10-JAN-7A 
65-MAR-74 
22-MAR-7A 
18-JUN-7<i 
20-OCT-75 



010 
013 
OU 
017 
021 



(VIRT MEMORY) 



22-NOV-77 
- MAKE RECORD TOO BIG A NONFATAL ERROR. 



.MCALL CALL.RtTURN i**OH 

,IF NDF RSX11M ;m0U 

.MCALL OCTI .'♦♦OU 

.IFF ;m0U 

.MCALL GETtS joQU 

.FNDC 



••M t T 



«t«t 



READ MACRO Ml 108 14 


-DEC-77 09:57 PAGE 3-1 




1 

( 
( 
( 

( 


8 

&1 000000 
>5 000000 

i7 


010004 
016400 


OOOOOOG 


SREAD: 


PURE 

CALL 

MOV 

MOV 

.IF NOF 

GETS 




'5 

i 000012 


- 






.IFF 
GETIS 

.ENDC 




^? 000016 
B5 000024 
S4 000026 

15 000054 

16 000056 

17 000044 

90 000056 

91 000064 

im^2 


016074 
103017 
122760 
001004 
152764 
000407 
122760 
001004 
152764 

012705 
000167 


OOOOOOG OOOOOOG 

OOOOOOG OOOOOOG 

OOOOOOG OOOOOOG 

OOOOOOG OOOOOOG SSi 

OOOOOOG OOOOOOG 

100)1 

OOOOOOG lOli 
OOOOOOG READ1 : 


MOV 

BCC 

CMPB 

BNE 

BISB 

BR 

CMPB 

BNE 

JISB 

RETURN 

MOV 

JMP 




i 


000001 






.END 



PURIcI.l 



SAVREG 

R0,R4 

FDBTBL(R4).R0 



.•♦♦017 

;READ LINE 

;^^014 SAVE REGISTERS 

;^^010 copy SOFTWARE CHANNEL NUMBER 

.'♦♦010 GET ADDR OF FDB IN RO 



.•♦♦014 

.•♦♦010 GET NEXT RECORD FROM FILE 

;^^0U 

!+^014 GET NEXT RECORP 

.•^♦014 (RSX-11M) 



F.NRBD(R0).BCNTTBL(R4) .•♦♦010 SET BYTE COUNT 
100S :tF CC NO ERRORS DETECTED 

«IE.RBG.F.ERR(RO) :WAS ERROR RECORD TOO BIG? 
5) .IF NE NO 

«I0tRBG.I0FTBL(R4) ;SET RECORD TOO BIG STATUS 
100t ; RE TURN WITH PART OF RECORD 

flE.EOF.F.ERRCRO); EOF ? 
I OS: NO -BAD 

«I0lE0F.I0FTBL(R4) ;^^014 SET END-OF-FILE STATUS 

; 



«INPM1,R3 
RESTRT 



.•INPUT rilE I/O FRROR 



CD050 
CD050 
CD050 
CD050 
10050 
,♦•-1 



; CD050 
; C0050 
; CD050 

!«*-1 



*«t* t 1 tt*t 



READ MACRO Ml 108 
SYMBOL TABLE 



BPMB 

CNTTBL« 

CPL » 

FDBTBL* 

F.ERR > 

F.NRBD> 

IE.EOF> 

lE.RBG* 

ILVL » 

I>#1i|1 



000020 
*•*••• GX 

000120 

****** GX 

****** GX 

****** GX 

•••••• GX 

****** GX 
000001 

■ ****** GX 



U-DEC-77 09:57 PAGE 5-2 



IGFTBL' 

I0IE0F< 

lOtRBG' 

LINLEN* 

LPP » 

LSTLEN« 

NUtSEC* 

OBJLEN' 

READ1 

RESTRT» 



****** GX 


RLDLEN* 


000052 


XBSRCH' 


000000 


****** GX 


RSX11M> 


000000 


XCREF « 


OOi 000 


****** GX 


RSSIIM* 


000000 


XEDABS* 


OOi 000 


00020A 


SAVREG- 


****** GX 


XEDCDR« 


00< 000 




SMLLEN- 


Xl^ 


XEDCRFr 


OQi iQOO 


000204 


SRCLEN* 


XEOFPT« 


00* 000 


Mi 


STLLEN* 




XEDLC « 


Moo 


SUBMAC 


000001 


XEOPIC' 


002 TTLLEN« 


000040 


XEDPNC* 


00)000 


****** GX 











000000 
000000 
000000 
000000 
000000 
000000 

oogooo 

OOOOOORG 



XFLT6 « 

XOPEXPr 

XRGERR> 

XSUBD = 

XZERR 

X45 

VQCMO " 

SREAD 

.GETSQ' ****** G 



002 



. ABS. 000000 
000000 
PURE I 000076 
ERRORS DETECTED: 



000 
001 
002 



VIRTUAL MEMORY USED: 899 WORDS ( <, PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:12 
READ,[S0.30]READ/-SP«CS0.1 
Xq > 



,10]RSXPAR,MPARAM.READ 



•••• H 1 •••• 




•t*ft t \ ••«• 



rr^ 



REPT MACRO NllOB U-OEC-77 09:58 PAGE A 



U 



41 

ti 

44 
4S 



000000 



177601 
1 7760? 



.TITLE 
. I DENT 



REPT 
/02/ 



COPYRIGHT (C) 1972,1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UN!>ER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



; VERSION 02 








; B. BOWERING 








1 MODIFIED BY: 








t D.N. CUTLER 6-FEB-75 






1 C.A. D'ELIA 


15-NGV-75 


008 




1 C.A. D'ELIA 


10-JAN-74 


010 




1 C.A. D'ELIA 


2$-JAN-74 


Oil 




1 C.A. D'ELIA 


55-MAR-74 


013 




< C.A. D'ELIA 


07-APR-74 


015 




J C.A. D'ELIA 


24-APR-74 


016 




t H.A. NICHOLS 


18-JUN-74 


017 




t C.A. D'EUA 


CI -AUG- 74 


017 
021 




J C.A. D'EL A 


20-OCT-75 


(vihT ntnoRY) 


J C.A. D'EL A 


05-SEP-76 


026 


(KEYWORD fUCROS IN 8K) 


) EQUAIED SYMMLS 








.IF NDF NMAfRO 
MT.RPT. 177601 
MT.IRP» 177602 




















PURE PURfl.l 


iM017 







. ••.^tpf.AfpfAt HANDLFR 

; **'ENDMAC-END 0( MACRO PROCESSING 



•••ft J t •••• 



»«PT RACRO Mil 08 U-DEC-77 09:58 PAGE 4-1 



58 

59 f jOO 

60 OOUOOA 

61 000006 

62 000012 

65 000016 

^ ^?^ 

66 OOOofo 

67 000032 

68 OOOOM 
6"; 000040 

70 000050 

71 000054 

72 000060 

73 000064 

74 000070 

75 000074 
76 

>7 000100 

78 

79 000102 

80 

000104 
r00106 



00">110 016262 }77772 000004 



OOOOOOG 




010046 

004767 OOOOOOG 

010067 OOOOOOG 

010167 OOOOOOG 

005022 

0C5046 

010146 

004767 OOOOOOG 

004767 OOOOOOG 

012705 177601 

004767 OOOOOOG 

016701 OOOOOOG 

004767 OOOOOOG 

004767 OOOOOOG 

012622 

012622 

005022 
012612 



REPT: 



REPTF ! 



000004 
U776 

COOOOOG 



111 



ABSEXP 

MOV 

SETPF1 

CALL 

MOV 

MOV 

CLR 

CLR 

MOV 

CALL 

ZAP 

CALL 

MOV 

CALL 

MOV 

CALL 

CALL 

MOV 



f» 



SETCHR 



ENOMACmMOV 



RETURN 
CLR 



RO,-(SP) 

CETBLK 

RO.MACWRT 

R1.MACWTV 

(R2)« 

-(SP) 

R1,-(SP) 

ENOLIN 

DMALST 

PROMT 

#MT.RPT,R5 

WCIMT 

MACWTV,R1 

SUNLPG 

MPUSH 

(SP)t,(R2>^ 

(SP)«.(R2)« 

(R2U 
(SP)«,(R2) 

-6(R2),4(R2) 



«MS8rNT.R0 

(RO) 

(RO)*.(RO)* 

#4,(R0)* 
-16.(R0),(R0) 

CNDMEN 
MPOP 



;EVALUTE EXPRESSION 

;SAVE COUNT 

.■MARK THE LISTING 

:GET A STORAGE BLOCK 

.•♦♦021 STORE REAL ADOR Of BLOCK TO WRITE 

.'♦t021 AND ITS VIRTUAL LOCN 

; START IN THIRD WORD 

'NO ARGUMENTS 

;»»021 SAVE VIRT LOCN OF BLK ON STACK 

.•POLISH OFF LINE 

.•♦♦021 EMPTV DUMMY Mf, LIST—NONE FOR REPT 

;USE MACRO STUFF 

;»=UDGE AN 'tNO OF REPEAT" 

,•♦♦021 GET VIRT LOCN OF CURRENT TEXT BLK 

.•♦♦021 AND UNLOCK ITS PAGE 

;PUSH CURRENT MACRO CONTEXT AND 

.•SWITCH TO NEW ONE 

.-♦♦021 STORE VIRT LOCN OF BASK. 

.♦♦021 TEXT BLOCK (MSBTXT) 

;^^021 STORE VIRT LOCN Of FIRST 

.■♦♦021 ARGUMENT BLOCK (MSBARG) 

.•CLEAR ITERATION COUNT (MS8CNT) 

(♦♦021 AND REPEAT (OR ARGUMENT) 

COUNT (MSBCNTt?) 

STORE VIRT LOCN OF BASIC 

TEXT BLK AS ONE BEING ... 

WRITTEN (MSBRDV) 



I ♦♦021 
[♦♦021 
[♦♦0?1 
[♦♦O^l 



; RE STORE CHAIMCTER 



;SET POINTER TO COUNT 

.'BUMP IT 

^♦♦021 HAVE WE REPEATED ENOUGH TIMES? 

; YES 

.■♦♦0?1 NO, INK TEXT BIK READ PTR 

;»^021 SETUP TO READ BASIC 'FXI BLOCK 

;CLEAR MEXIT FLAG 

.•♦♦017 POP A LEVEl OF MACRO CAll AND RFTURN 



.•♦ 



•♦-IRP-INOEFINITE REPEAT/lNOEf INUt REPEAT CHARACTER 






OOOOOOG 




WW 



OOOOOOG 



0*00000 



CALL 
•FQ 

CALL 
CALL 
CALL 
RPO 



^C 



.•♦♦Oil 
;»»01 



, RJ'O IMPIIES ".IRP" 
)11 Rj«1 IMPLIES ".inr( 
.•♦♦on GET MACRO AbRlMTNT 



PROMA 
RMARG 

#1 77777. ARGMAX 

PROMCF 

Rt.RS 



;ANY NUMBfR OF ARGUMENTS 

;PRl)(,fSS (All AMW/MTNTS 

.'♦♦021 lOPY VIR? lOCN or FIRST ARC. RlK 



•••• R 1 •••• 



rz: 



»fcA*.^»% ^t > t\m t A -ak.m » _ <# t\t% . >t 



MAif i.^^ 



R€PT HACRO mi08 U-OEC-77 09:58 PAGE «-2 



15 0002U 

16 000220 

19 00023A 

20 000236 

21 000242 

22 0002A4 

23 0002A6 

24 000252 

25 000256 

26 00026c 

27 000266 

28 000274 
29 

30 

31 000276 

32 000302 
S3 000304 

34 000306 

35 000312 

36 000316 

37 000320 

38 000322 

39 000326 

40 000330 

41 000334 

42 000336 

43 000340 

44 000342 

45 000346 

46 000352 

47 000354 

48 000356 
49 
50 
51 
52 
55 
54 
55 
56 




004767 
004767 
010067 
010167 
005022 
016746 
010346 
010146 
004767 
004767 
0W705 
000167 

000207 



012702 
014201 
001404 
004767 
004767 
014201 
001402 
004767 
014201 
004767 
010146 
010001 
005742 
012746 
162716 
004736 
012601 
005U10 
004767 
005567 
000207 



000001 



OOOOOOG 
OOOOOOG 
OOOOOOG 
OOOOOOG 

OOOOOOG 



OOOOOOG 
OOOOOOG 
177602 
177572 



000002G 



OOOOOOG 
OOOOOOG 



OOOOOOG 
OOOOOOG 



OOOOOOG 
OOOOOOG 



OOOOOOG 
OOOOOOG 



111 



111 
III 



CALL 


RMARG 


CALL 


GETBLK 


MOV 


RO.MACWRT 




Rl.MACtfTV 


nJI 


(R2)» 


bRV 


ARGCNT,-(SP) 


■ny 


R3.-(SP) 


NOV 


R1,-(SP) 


CALL 


ENOLIN 


C/:.L 


PROMT 


MOV 


(»MT.IRP,R5 


JMP 


REPTf 


ERROR 


A 


RETURN 




MOV 


#MS8ARC»2.R2 


MOV 


-(R2>.R1 


BEQ 


It 


CALL 


tCVRL2 


CALL 


REMMAC 


MOV 


-(R2).R1 


nfi 


2t 

DECMAC 


MOV 


-(R2).R1 
tCVRL? 


CALL 


MOV 


RI.-(SP) 


Moy 


RO.RI 


28 


-(R2) 


mt 


#XMITO.-(SP) 


SUB 


«MS8LGH,(SP) 


CALL 


•<5P)« 


MOV 


(SP)»,R1 


CLR 


(RO) 


Sft^ 


REMMAC 


MACLVL 


RETURN 




.ENDC 




.END 





.-ALLOCAVE A BASIC TEXT BLOCK 

.■♦♦0?1 SAVE AODR OF BLK BEING WRITTEN 

;»*021 AND ITS VIRT LOCN 

;USE NUMBER OF ARGS AS REPEAT COUNT 
.-♦♦021 STORE VIRT LOCN OF FIRST ARC 6LK 
.•♦t021 STORE VIRT LOCN OF BASIC TEXT BLK 



POINT ONE SLOT PAST ARGUMENT 

**02\ GET VIRT LOCN OF FIRST ARG BLK 

BRANCH IF NULL 

♦♦021 ELSE, GET ITS REAL ADOR IN RO 

REMOVE IT 

♦♦021 VIRT LOCN OF BASIC TEXT BLK IN R1 

BRANCH IF NULL 

DECREMENT LEVEL 

♦♦021 GET VIRT LOCN OF CONTEXT SAVE BLK 

♦♦021 GET ITS REAL ADDR IN RO 

♦♦021 SAVE THE VIRTUAL LOCN 

♦♦021 AND COPY ITS REAL ADDR INTO R1 

POINT TO START 

GET BASE OF MOVE VECTOR 

CALCULATE MOVE ADDRESS 

MOVE SAVED INFO BACK INTO CONTEXT AREA 

♦♦021 GET VIRT LOCN OF CONTEXT SAVE BlK 

CLEAR LINK 

RETURN BLOCK FOR DEPOSIT 

DECREMENT LEVEL COUNT 



•*•• L 1 •••• 



MArkn iiiir\M ii..M*r.Ty noita mkot Aat 



RCPT MACRO mi08 
SYMBOL TABLE 



H-OEC-77 09:58 PAGE A-3 



MSEXPe 
ARCCNT* 
ARGMAX> 



GX 
GX 
GX 



CNDMEXs 

CPL « 

DECMC* 

DMALST' 

ENDLIN> 

ENDMAC 

EMBTS* 

ERR. A ■ 

GETBLK> 

QPIARG - 

. ABS. 



000020 
*••••* 

300120 
•*•••• GX 
•*•*«* GX 
•••••* GX 

0001 22RG 

**•*•• GX 
••***• GX 
••♦••• GX 



GX 



000000 
000000 
PURE I 000372 
ERRORS DETECTED: 



ILVL « 000001 
IRP 0001 54RG 

LINLEN> 00020<> 
LPP « 00007* 
LSTLEfJ* 000204 
«ACLVL« •*•••• GX 

MACyRT> •••••• GX 

MACWTV ••••♦• GX 

MPOP 000276R 
002 NPUSH « •••*•• GX 
MSBARG> ****** GX 
HS8CNT. *••*♦* GX 
nSBLGH- ****** GX 
MT.1RP« 177602 

000 
001 
002 



MT.RPT» 
002 NUSSEC<: 
OBJLEN' 
PROMA - 
PROMCF' 
PROMT B 
REMMAC> 
RtPT 
002 REPTF 
RLDLEN> 
RMARG ' 

HSXIIN^: 

RU11M< 
SETCHR* 



177601 
000004 
000052 
****** GX 
****** GX 
****** GX 
**•••* GX 
OOOOOORG 
00006QR 
000052 
••••** GX 
000000 
000000 
****** GX 



VIRTUAL MEMORY USED: 2S49 WORDS ( 10 PAGES) 
DYNAMIC MEMORY: 157AA WORDS ( 60 MGES) 
ELAPSED TIME: 00:00:19 

REPT.C5O,3O]REPT/-SP-C3O.10]RSXPAR,MPARAM.G£NMC,REPT 
rA2 



SETPFI* 
SMLLEN* 
SRCLFN« 
STLLENc 
SU8MAC< 
TTLLEN" 
WCIMT ' 
002 XBSRCH« 
002 XCREF = 
XEOABS* 
XEDCDR* 
XEDCRF* 
XEOFPT* 
XEDLC > 



****** 
000120 
000204 
000100 
000001 
000040 
****** 

000000 
000000 
000000 
000000 
000000 
000000 
000000 



GX 



GX 



XEDPIC' 


' 000000 




XEDPNC> 


: 000000 




XFLTG ' 


' 000000 




XMITO « 


: ****** 


GX 


XOPEXP' 


' ooooo 




XRGERR' 
XSUBD ' 






XZERR ' 


1 >oooo 




X45 > 


= 000000 
' 000000 




YQCMO ' 




AP « 




GX 


iCVRL2« 




GX 


SUNLPG> 




GX 



•••• M t •••• 




•••« H 1 *••• 



ROLHO MACRO M1108 U-OEC-77 09:58 PAGE*. 



.TITLE 
.IDENT 



ROLHD 
/08.01/ 



IS OOQQOQ 



COPYRIGHT (C) 1972.1976,1977 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS S0rTWAR6 IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY W.'TH THE 
INCLUSION nr THE ABOVE COPYRIGHT NOTICt. THIS SOFTWARE, OR 
ANY OTHER i TS THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MAl/E AVAUAi i TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND I (J ONE WHO AGREES TO iHEJE LICENSE TERMS. TITLE 
TO AND OM^RSHIP OF iH£ SOFTWARE SHALL AT ALL TIMES FiEMAIN 
IN DEC. 

THE INFORMATION IN THIS DOC'JMENT IS SUBJECT TO CHANGt WITHOUT 
NOTICr AND SHOULD NUT BE CONfTFtJED AS A COMMITMENT BY DIGIIAL 
EQUIPMENT CORPORATION. 

DEC ASSUME5 NO RESPONSIBILITY FOR IHE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION oe 

B. BOWCRING 



MODIFIED BVt 



D.N. 
C.A. 



CUTLEN 10 
D'EIIA 
C.A. D'ELIA 
C.A. D'ELIA 
H.A. NICHOLS 
C.A. d'ELIA 
C.A. D'ELiA 
C.A. D'ELIA 
C.A. D'ELIA 
D.N. CUTLER 
C.A. D'ELIA 



•FF8-75 
16-NOV-73 
10-JAN-7* 
O-JAN-7* 
1I-JUN-7A 
01 -AUG- 7* 
S1-DEC-7A 
IO-OCT-75 
01 -NOV- 75 
Jl'AUO-76 
W-OCT-76 



009 

?!? 

017 
017 



(VIRT MEMORY) 

(CREF) 

(KEYWORD MACROS) 

(IMPR PERFORMANCE) 



C.A. D'ELIA 1I-JAN'77 

CD031 — CORRECT BUG IN BINARY SEARCH RETURN STATUS. 



; ROUriNES TO SEARCH RIAL MEMORY TABLES (ROLLS) AND 
.• TO SEARCH, INSERT, ETC V|RTUA( MFNORY I |Sh, 



P[»t 



PURFI.I 



J»»017 



.♦ton 

1 

; ••-OSRCH--SEARCH PfRMANFNT SYMBOl TAIlt (P$T) FOR AN OrfOM 

; 



mmYT 



•••• 



•t»» B 2 •*** 



ROLHD MACRO Ml 108 U-DEC-77 09:58 PAGE 4-1 



71 



58 
59 
60 
61 
62 
65 
64 
65 

66 000000 

67 000000 

68 OOOOOA 

69 000010 

70 000012 
OOOOU 
000016 

. 000020 

74 000022 

75 000024 

76 000024 

77 000050 

78 0000J4 

79 000036 

80 0000/.0 

81 fKX>042 

82 0C0046 
85 000050 

84 000054 

85 000060 

86 000062 

87 000064 
88 

89 
90 
91 

l\ 

94 
95 
96 

97 000066 

98 omn 

99 00007? 

100 0000 «'<. 

101 OOOKH 
100106 

112 



005721 
011146 
001403 
022716 
006200 
001022 

012700 
004767 
001415 
005716 
001407 
032711 
001410 
052715 
062700 
011514 
011113 
012611 



102 
03 



000411 
012611 
001407 

OOI.'.O^ 



NOTE ON 'OSRCH': SEARCHIN flF THE PERMANENT SYMBOL TABLE IS PERFORMED 
IN TWO PHASES. FIRST. THf )RT-ENTRY TABLE (SSTROL) 13 SCAftJED. IN 
THIS TABLE ARE FOUND ENlHxtb FOR 3-LETTER OPCODES AND FOR THOSE WHOSE 
KOIIRTH LETTER IS THE BYTE SUFFIX. 'B^ IF AN ENTRY IS FOUND. IT IS 
RE-FORMATTED TO THE NORMAL 4-WORD STRUCTURE FOR LATER PROCESSING. IF 
NO MATCH IS MADE. THEN THE REGULAR 4-WORD PST IS SEARCHED. 



."Oil 
OSRCH:: 



OOOOOOf. 
000576 



0000000 
100000 

oooooor 



III 



lOli 



OOOUOOQ 



105 

1?5 

108 
109 
110 

w m\'A urn ""^ 

114 



Mti 



!Oli 



SAVREG 
SETXPR 

i 

CMP 

.RAD50 

•NE 

MOV 
SAIL 



(R1)t 

(R1),-(SP) 

51 

(PC)*,(SP) 

'^' 

fSSTROL.RC 

SCANW 

201 

(SP) 

101 

«B$YrOP.(R1) 

201 

#100000. (R3> 

#ISSTCT/2.R0 

(R3),(R4) 

<R1).(R3) 

<SP)».(R1) 



.•ttOII 
.•♦♦Oil 
;+^011 
.'♦♦Oil 
,•♦♦011 
,•♦♦017 
,•♦♦017 
;^^017 
,•♦♦017 
,•♦♦017 
,•♦♦011 
,'♦♦011 
;^^011 
.•♦♦Oil 
,•♦♦011 
;^^011 
••♦♦Oil 

.-♦♦on 

.•♦♦029 
;«»011 
'11 
II 



i^^OII 
;^^011 



SEARCH PERMANENT fYMBOL TABLE 

SAVE REGISTERS 

SET EXPRESSION REGISTERS 

POINT R1 TO SECOND HALF OF SYMBOL 

SAV: SECOND HALF OF SYMBOL 

SECOND WORD NULL— ALWAYS SCAN SST 

NOT NULL—IS IT 'B'? 

NU, DON'T SEARCH SHORT SYMBOL TABLE 

FIRST SCAN SHORT ENTRY TABLE 

NO MATCH. SKIP TO SEARCH FULL TBL 
FOUND. IS 2ND HALF BLANK? 
YES. SKIP TO RE-FORMAT ENTRY 
IS A BYTE SUFFIX LEGAL? 
NO. SKIP TO SEARCH FULL TABLE 
YES. INDICATE BYTE OPCODE 
ADJUST S>'MBOL BY SST TABI E SIZE 
RE-FORMAT 3-WORD SHORT ENTRY... 
...TO LOOK UKE A REGULAR... 
... 4-WORD ENTRY 



.ir NDF XCRir •♦♦022 

MOV #PSTR0L.R01NDX .•♦♦022 FOR CRFF PURPOSES. SUB PST CODE 

.PNDC .♦♦022 



B50t 
y (SP)^,<m) 
wEc m 

SEARCH PSTHOL 

ADD «tSSfCr.,<0 

Rt TURN 



J ♦♦Oil «1K|P TO LEAVE 

;*^Q11 RESTORE 2ND HAIF OF SYMBOL 

,♦♦018 rr 'JUll . DON'T srARCM 4 -WORD TABLE 

,•♦♦011 SlAHC^i NORMAi PST 

,•♦♦029 ir FQ NOT fOtiND 

.•ADD PSr TABLE BIAS 

;»«on 



; CD051 

;*»-1 



; ••-MSRCM- 
i 



■SEARCH THF MACRO NAMF I 1ST 



.If NDF MMAIRO 



MSRCHti MOV 
BR 



«MACLST,RO 
SEARCH 



♦ ♦♦W' ?y!.l:|SI.I!!iyMB.H!IJN RO. 



M SEARCH MACRO NAME t k*T AND Hi TURN 



••*• 



TT 



•«•« 



■■■■ t e •••• 



ROLHO MACRO M1108 U-DEC-77 09:58 PAGE ^ -2 



21 mm 

2A 000126 

25 000150 

26 0001 Sa 

27 OOOUO 

28 OOOUA 

29 0001 50 

30 0001 5A 

31 000156 

32 000164 

33 000170 
3A 

35 000000 

36 000000 
!^ 000001 
38 000002 
39 

40 000004 



105767 
001004 
105267 
005267 
012700 
016720 
016710 
001003 

012700 
000433 




.ENDC 



••-LSRCM— SEARCH THE LOCAL SYMBOL LIST 



000000* 

000000' 
000002' 
OOOOOOG 
000002' 
OOOOOOC 



OOOOOOG 



LSRCH: 



II: 



31: 



.PSECT 
L5FLA6::.BLKB 
LSGBAS::.BLKB 
LSYBKN::.BLKW 

PURE 

.ENDC 



.IF NDF XEDLSB 

TSTB LSFLAG 

BNE IS 

INCB LSFLAG 

INC LSVBKN 

MOV #SVMBOL.R0 

NOV LSY6KN,(R0)t 

MOV VALUE, (RO) 

BNE 5» 

ERROR T 

MOV #LSYLST,RO 

BR SEARCH 

IMPPAS.D.GBL.Ry 

1 
1 

PUREl.I 



♦♦017 IS THERE NEED FOR A NEW BLOCK? 
♦♦017 BRANCH IF NOT 
♦♦017 FLAG START OF NEW BLOCK 
BUMP BLOCK NUMBER 

MOVE INTO "SYMBOL" 

IF NE OKAY 
ZERO FLAG ERROR 

♦ ♦029 PUT LIST NtJMBER IN RO 

♦♦029 SEARCH LOCAL SYMBOL LIST I RETURN 

♦ ♦017 

♦♦017 CLEARED WHEN NEW BLOCK IS NEEDED 
♦♦017 BASE FOR AUTO-GENERATED SYMBOLS 
BLOCK NUMBEN 



;^*017 
{♦♦021 



**-SSRCH— SEARCH THE USER SYMBOL LIST (OR RESOLVE IN 
STANDARD REGISTER TABLE) 



000007 OOOOOOG SSRCHs: 
OOOOOOG OOOOOOG 



000001G 



OOOOOG 
000066^ 



012700 OOOOOOG 



101: 



BIT »7. SYMBOL 

BNE 101 

BIT ffED.REG.EDMASK 

BNE 101 

SCAN REGROL 

BNE RTN 

MOVB SYMBOL ♦1.R0 

ASR RO 

ASR RO 

BIC #177701. RQ 

ADD nSYLHD.RO 

MOV (RO),BA$SYM 

MOV RO.SUBLHD 

MOV fSYMlST.RO 



017 

17 

II? 

117 
117 



SOME 



ROUGH TEST TO FLIMINAIF 
... REtilSTFR ROLL SCANS 
ARE DEFAULT REGISTERS DISABLED? 
YES. ONLY SCARIH USFR TABIF 
ELSE. SCAN DEFAULT RFGISTERS 
LEAVE IF MATCH FOUND 
GET TOP BYTE OF SYMBOl 
CONVERT IT TO 5-fl!T OFFSET 



POINT TO SUBLIST liSrHfAD 
USE IT AS riRSt tNTRY IN liS^ 
h SAVf ADDR Of THE LIST HtAO— IT 
1 IS irpAtH) BY INSfRt 
M SPECIFY SYMNL LlSf NUMBER 



I 



; ••-SMRfM--«ARfH THE SPftlFlfO (RfAt MEMORY) TABLE OR 
; (VIRTUAL MFM()RY) LiSt 



ROLHO MACRO Ml 108 U-OEC-77 09:58 PAGE A-3 



76 

77 000260 

71 00026A 020527 OOOOOOG 
000270 003A22 



85 0002/2 00047A 



IF A REAL MEMORY TABLE IS CONCERNED, A BINARY SEARCH IS 
PERFORMED. FOR THIS THE TABIE ENTRIES MUST BE 4-WORDS LONG. 



SEARCH: .-SETROL 
CMP 
BLE 



1S: 



i 



101: 
2ti 

38) 

Sli 

61: 

781 



BR 

.IFF 

MOV 
SUB 
MOV 
BIC 
MOV 
ADD 
ROR 
BIC 
BIS 
CMP 
BNE 
CMP 
BEO 

BHI 

MOV 

ADD 

CMP 

BLOS 

BR 

MOV 

SUB 

CMP 

BLOS 

CLR 

BR 

MOV 

SUB 

ASR 

ASR 

ASR 

INC 

T8T 

BR 



R5,«VM$LST 
VSCAN 



.IF DF KBSRCH 



SCANA 



RI.-(SP) 

R3.R2 

R1.R0 

#1?7770.(SP) 

R0.R1 

R2,R1 

R1 

#7.R1 

(SP).RI 

(R1).(R4) 

10S 

2(R1).2(R4) 

61 

3$ 

R1.R0 
R5.R0 
RQ.R2 

51 

R1.R2 
R3,R2 
R{.rI 

RO 
7$ 

RI.RO 

r6lBAS(RS),R0 

M 

M 

RO 

RO 

(SP)» 

SCANX 



.•BINARY SEARCH 

;**021 IS THIS A VIRTUAL MEMORY LIST? 

;»*021 IF LE YES 



;»*018 

♦♦009 NO BINARY SRCH— JUST LINEAR SCAN 

♦ ♦009 

♦♦009 SAVE BASE ADDR OF ROLL 
CALCULATE HIGH AND LOW BOUNDS 

CALCULATE TRIAL INDEX 

HALVE RESULT 
CLEAR GARBAGE BITS 

COMPARE HIGH PARTS 

♦♦029 IF NE NO MATCH 

COMPARE LOW PARTS 

IF EQ HIT 

♦♦029 REF LABEL 

IF HI SET NEW HIGH LIMIT 

SET NEW LOW LIMIT 

REDUCE BY ONE MORE 

ANY MORE TO SEARCH7 

IF LOS YES 

EXIT 

SE NEW HIGH LIMIT 

REDUCE BY ONE MORE 

ANY MORE TO SEARCH? 

IF LOS YES 

SET FALSE FLAG 
9 AND IF AVE 
GET ADDR OF SYMBOl 
CALC DISTANCr PROM BASE 
CONVERT TO SYMBOl NUMRFR 



;»»-1 



?9 



START NUMBERING PROM ONE (1) 
♦♦029 CLEAN STACK 
VAMMOOSA 

♦ ♦009 



i CD0S1 



**-fi!XT--OET NEXT ENTRY IN (VIRTUAL MEMORY) LIST 



•••* I I •••• 



ROLHO MACRO mi 08 U-DE*. ''7 09:S8 PAGE A-4 



236 00027A 

231 000300 

232 000304 

233 000306 

234 000312 

235 0003U 

236 000316 
522 

26 
240 000330 
|41 0003! 

It! 

244 000336 

245 000340 

246 000342 

247 000344 

248 000350 

249 000354 

250 000356 

251 000364 




[60 000370 
b1 000374 
S2 000376 
b3 

?65 

266 000376 
167 

000400 
t02 



004767 000620 

016701 000002' 

001004 

016501 OOOOOOG 

001501 

000405 

004767 OOOOOOG 

005710 

001474 

011001 

004767 OOOOOOG 

000426 



005046 

005701 

001420 

004767 OOOOOOG 

026014 000002 

001004 

026064 000004 000002 

001411 



NEXT: 



100S: 



200$: 



VSCAN: 



50$: 




103403 
022705 
001003 



010116 

011001 

1360 

5000 

011601 

005726 

10167 
10067 
01447 

w 

1440 



OOOOOOG 



100$: 

100$: 
\10$: 



200$! 
300$: 



CALL 

NOV 

BNE 

NOV 

BEQ 

BR 

CALL 

TST 

BEQ 

NOV 

CALL 

BR 



CLR 

TST 

BEQ 

CALL 

CMP 

BNE 

CNP 

BEQ 

.IF OF 

Ml 

.IFF 

6L0 
CNP 
BNE 

.ENOC 

NOV 

NOV 
BNE 
CLR 

NOV 
TST 



000002' 
000004 ' 



VSCANX: NOV 
NOV 
BEQ 
NOV 

Tsr 
m 



I 



SETLST 

$LSPNT,R1 

100$ 

$LSBAS(R5),R1 

SCANXF 

200$ 

$CVRL 

(RO) 

SCANXF 

(RO).RI 

$CVRL 

VSCANX 



-(SP) 

R1 

200$ 

$CVRL 

2(R0),(R4) 

100$ 

4(R0),2(R4) 

300$ 



XNACRO 
200$ 



110$ 

#DNALST.R5 

200$ 



R1,(SP) 
(RO'.'^I 

J?' 

($P).R1 
(SP)» 

R1,$l$PNT 

R0,$LSflG 

SCANYF 

RO.RI 

(R|)» 

SCANV 



••♦♦021 SETUP FOR LIST OPERATIONS 

,•♦♦021 GET VIRT LOCN OF CURRENT ENTRY 

••♦♦021 IF NE NOT AT START OF LIST 

.•♦♦021 ELSE, GET VIRT LOCN OF 1ST ENTRY 

.•♦♦021 IF EQ LIST IS ENPTY— EXIT FAIL 

.•♦♦021 ELSE. BRANCH INTO CONNON CODE 

.•♦♦021 GET REAL ADDR OF ENTRY IN RO 

;^^021 TEST FOR END OF LIST 

,•♦♦021 IF EQ END— EXIT FAIL 

.•♦♦021 ELSE, GET VIRT LOCN OF NEXT ENTRY 

.'♦♦021 GET REAL ADDR rf NEXT ENTRY 

,•♦♦021 USE CONNON SUCCESS EXIT CODE 



;♦ 
;♦ 
;♦ 

;♦ 
;♦ 
;♦ 
;♦ 
;♦ 



♦021 USE LISTHEAD AS VIRT LOCN OF PREV 
♦021 CHECK VIRT LOCN OF FIRST ENTRY 
IF EQ ENPTY LIST—EXIT FAIL 
GET REAL <DDR OF ENTRY IN RO 
CONPARE y/ 1ST HALF OF SVNBOL 
IF NE NO NATCH 

CONPARE W/ 2ND HALF OF SYNBOL 
IF EQ NATCH— EXIT SUCCESS 



♦021 
♦021 
♦021 
♦021 
♦021 
♦021 



.'♦♦025 

{♦♦025 IF HI NOT IN TABLE— EXIT FAIL 

{♦♦025 

.•♦♦025 IF LO NAY BE IN TABLE 
.•♦♦025 SEARCHING DUNNY ARGUNENT ROLL? 
;^^025 IF NE NO— EXIT FAIL 
.•♦♦025 REF LABEL 

{♦♦025 

{♦♦021 FLSE. SAVE THIS VIRT LOCN (FOR 

:^«021 NEXT PREVIOUS ENTRY) 

121 GET VIRI LOCN OF NEXT ENTRY 

121 If Nf NOT AT FND Of LIST 

i21 SET fAlLDRE INDICATOR 

l\ RETURN VIRT LCCN Of PREV ENTRY 

21 CLEAN STACK 



;♦♦( 
;♦♦( 

:♦♦£ 



,'♦♦021 RETURN VIRI LOlN OF A llSf INTRV 
l**Ol\ SAVE SUrCESS/fAll INDICATOR 
,•♦♦021 IF EO FAIL USE CONNON fX|T CODE 
"]1 ELSE, PUT REAL ADPR Of ENTRY IN RO 
1 BYPASS LINK WORD 
ll use CONNON EXIT CODE 



!♦♦ 

!♦♦ 

:♦♦ 



•• •••$CAN«--$CAN (REAL NENORY TABLE fOR 1-tfORD NATCH 



•«t« f I ttt* 



ROLHO MACRO HI 108 U-OEC-77 09:58 PAGE 4-5 



sssti? mi 



288 0004A0 

289 00OA42 

290 OOOAAA 

291 000AA6 

292 000A50 

293 000A52 

294 00045A 

295 000456 
296 

297 
298 
299 

?8? 

302 000460 

303 

304 

305 

306 000464 



!1? 

U 000470 

15 000472 

: 16 000474 

;i7 000476 

20 ^510 



n 



005000 
005200 
021411 
001432 
060301 



005000 
000207 



005000 
020201 
00141? 
005200 
021411 
001004 

001404 
103402 
060301 
000764 

010067 
001404 
01 0402 
005405 
000163 




000002 000002 



000002' 
000004' 



OOOOOOG 



000002 



SCAN ONE yORD 
ASSUME FALSE 
TALI r ENTRY COUNT 
HATCH? 

YES 
NO, INCREMENT POJtvTEO 
FINISHED? 

NO 
»*017 SET FAIL INDICATOR 
♦♦017 



; **-SCAN— SCAN (REAL MEMORY) TABLE FOR 2-WORD MATCH 



SCANW: 


: SETROL 






CLR 


RO 


IS: 


INC 


RO 




CMP 


(R4).(R1) 




BEQ 


SCANY 




ADD 


R3,R1 




CMP 


R1.R2 




BLO 


11 


EXITF: 


CLR 


RO 


RTN: 


RETURN 





SCAN:: SETROL 

.IFT 
SCATMt 

.ENDC 



.'LINEAR SCAN 

.•♦♦009 

;^^018 ALT ENTRY FROM SEARCH 

.•♦♦018 (XBSRCH — BINARY SEARCH/INSERT) 





CLR 


RO 


.•ASSUME FALSE 


111 


CMP 


R2.R1 


;END? 




BEQ 


SCANXF 


; YES. EXIT FALSE 




INC 


RO 






CMP 


(R4),(R1) 


;N0. MATCH ON FIRST WORDS? 




BNE 


2S 


; YES 




CMP 


2(R4).2(R1) 


;N0. HOW ABOUT SECOND? 




BEQ 


SCANX 


; YES 


28 1 


BLO 


SCANXF 
R3.R1 


.•♦♦(21 IF LO NOT IN TABLE 




ADD 


.'♦♦(21 ELSE. POINT TO NEXT 




BR 


11 




SCANXF 


CLR 


RO 


.•FALSE EXIT 


SCANXt 


MOV 


R1.R0LPNT 


.•SET ENTRY POINTER 




MOV 


RO.ROLUPD 
SCANYF 


:SAV£ FLAG 

{♦♦021 BRANCH IF NOT FOUND 




BEQ 


SCANY! 


MOV 


R4.R2 


J POINTER TO "SYMBOl" 




NEC 


RS 


;NEGATF ENTRY SI/E 




JMP 


XMIT0(R3) 


;fOUND. XFFR ARGUMENTS 


SCANYF 1 


CMP 

ASR 


(R4)^.(Rh)^ 


J ♦♦021 BYPASS THE SYMBOl H 
;GET WORD COUNT 




r; 




SUB 


S"' 

(R4)» 
R3.2I 


.•COMPENSATE FOR ABOVE CMP 


21) 


6LE 
CLR 


; BRANCH IF END 
j CLEAR WORD 




SOB 




Sli 


RETURN 







NAMT 



; ••-APPEND-'PlAff A NEW ENTRY AT END Of (VIRTUAL MEMORY) LIST 



RaHO MACRO M1108 U-DEC-77 09:58 PAGE «-6 



3A3 

3AA 

345 0QQ564 

3A6 000570 

yi7 00057A 

3A8 000600 

3A9 

350 

351 

352 

353 

35A 

355 000602 

356 000606 
357 

358 
359 
360 
361 
362 
363 
364 
365 
366 
367 
368 

372 000612 



378 ^20 

Im 



00A767 QQ0330 

010267 000002' 

005067 OOOOOA' 
000A05 



iff 



APPEND:: CALL 

nov 

CLR 
BR 



SETLST 
R2,$LSPNT 
SLSFLG 
INSERF 



.•♦♦0?1 SETUP FOR LIST OPERATIONS 

,•♦♦021 SET LIST POINTER TO END 

.•♦♦021 SET SEARCH FAIL FLAG FOR INSERT 



**-INSERT— PLACE OR REPLACE AN ENTRY IN (VIKTUAL MEMORY) LIST 



00A767 000316 
020527 OOOOOOG 



INSERT: 



:CALL 
CMP 



SETLSA 
R5./lfREGR0L 



.IF NDF XRGERR 



lot: 



BNE 

MOV 

CMP 

BNE 

CMP 

BEQ 

ERROR 

BR 



INSERF 

ROLPNT.RO 

4(R4),i(R0) 

101 

6(R4),6(R0) 

INSRTN 

R 

INSRTN 



001507 



016746 000002' 

001 OW 

010500 

062700 OOOOOOG 

000420 

011601 

004767 OOOOOOG 

005767 000004^ 

" )1 



.#5 

160100 
160104 

3527 OOOOOOG 





.IFF 






BEQ 


INSRTN 




.ENDC 




INSERF 


MOV 
BNE 


»'•■"" 




MOV 


R5,R0 




ADD 


fiLSBAS.RO 




BR 


lOOli 


MOV 


(SP),R1 




CALL 


ICVRL 




TST 
BEQ 


ILSFLC 




TST 


(R0)» 




CL^ 


R1 


ISOli 


lii 


(R1) + 
R1.R! 




BGT 


SrtRTN 



20011 



6701 000006' 



CMP 

BEQ 

SUB 

SUB 

BR 

MOV 

IMP 

•IE 

MOV 



(R 



!?;•■ 



(R4)^ 



R1.R0 

5!*!* 

.#7PllST 



R0.-( 



/APIST.RI 



.•♦♦021 SETUP FOR LIST OPERATIONS 

;^^021 IS THIS A REGISTER SYMBOL REPLACE? 



[♦♦029 

:^^021 IF NE NO 
♦♦021 ELSE, POINT TO REGISTFR ENTRY 



[♦♦017 THE DEFAULT 

[♦♦017 

[♦♦017 



[♦♦021 
I ♦♦017 
[♦♦021 



REGISTER ROLL IS NEVER 
WRITTEN INTO, BUT A CHECK IS . 
MADE TO INSURE THAT USER DOES 
NOT TRY TO REDEFINE REGISTERS 
IF SO. AN 'R' ERROR IS ... 
ISSUED 



• • • 
■ • 
• • • 



;^^029 IF EQ YES — IGNORE 



SAVE VIRT LOCN OF LIST ENTRY 

IF NE NOT AT START OF LIST 

ELSE. POINT RO 10 THE ... 

LIST HEAD 

BRANCH INTO COMMON COD( 

GET VIRT LOCN OF ENTRY IN R1 

GET ITS REAL ADDR IN RO 

IS THIS INSERT OR RfPLACET 

If fQ INSERT 

BYPASS UNK WORD 

INITIALI/F Sl/t 

INCREMENT SIZE BY i\ WORD 

FNTIRF ENTRY COMPARED? 

If GT YtS -- DON'? REPLACE 

DOES THE ENTRY MATCH? 

If EQ YfS 

NO. ADJUST ENTRY POINTERS 

REPLACE ENTRY IN LISI 

INSfRT—SAVt REAL ADP« Of UNR 

CAN THIS list BE '/API'fD' 

IF IE NO 

YES, GET VIRT lOCN Of A fREE BLOCK 



•tft* 



7T 



•••• 



ROLHD MACRO MHOS U-DEC-?? 09:58 PAGE 4-7 



AOO 000706 
A01 000710 

402 0007U 

403 000720 

404 000724 

405 000726 

406 000730 

407 000734 

408 000740 

409 000744 

410 000746 

411 000752 

412 000756 

413 000760 

414 000764 

415 000766 

416 000770 

417 000774 

418 0Q0776 

419 001000 

420 001002 

421 001006 
)1010 

, .J1012 

424 001016 

425 001022 

426 001024 

427 001 0S2 
42 



422 
423 



001407 
004767 
011067 
004767 
000405 
010301 
06270\ 
004767 
017610 
010136 

001002 
010165 
005716 
001002 
010165 
005720 
006203 
012420 

012601 
001402 



OOOOOOG 
000006* 
OOOOOOG 



000002 

OOOOOOG 

000000 

OOOOOOG 
OOOOOOG 

OOOOOOG 
OOOOOOG 



210$: 
220t: 

300S: 



31 Ot: 
^151: 
3^0tt 



4001) 



010146 
016001 

1034* 




020527 OOOOOOG 

001003 

016577 OOOOOOG 000066' 

000207 INSRTNi 



BEQ 210$ 

CALL $CVRL 

nOV (RO),ZAPLST 

CALL $yRnPG 

BR 220$ 

NOV R3,R1 

ADD «2,R1 

CALL $ALVRT 

MOV a(SP).(RO) 

MOV R1,a(SP)« 

INC $LSCNT(R5) 

CMP (SP),$LST0P(R5) 

BNE 300$ 

MOV R1,$LST0P(R5) 

TST (SP) 

BNl 310$ 

MOV R1.$LSBAS(R5) 

TST (R0)» 

ASN R3 

MOV (R4)^(R0)* 

SOB R3.326$ 

MOV (SP)*.R1 

BCO 400$ 

CALLR $WRMPG 

CMP R5.*SYMLSr 

BNE INSRTN 

MOV $LSBAS(RS).8SUBL 

RETURN 



.•♦♦021 
.•♦♦021 
;^^0?1 
.•♦♦021 
,'♦♦021 
.•♦♦021 
.•♦♦021 
.•♦♦021 
;^^021 
.♦♦021 
.•♦♦021 
;^^021 
.•♦♦021 
.•♦♦021 
.•♦♦021 
.•♦♦021 
.•♦♦021 
;^^021 
.♦♦029 
.'♦♦021 
;^^021 
;^^021 
.•♦♦021 
;«»021 
.•♦♦021 
.•♦♦021 
MD :♦ 
.•♦♦021 



IF EQ FREE LIST IS EMPTY 

ELSE. GET ITS REAL ADDR IN RO 

REMOVE ENTRY FROM LIST 

MARK ITS PAGE DIRTY (IN ADVANCE) 

BRANCH INTO COMMON CODE 

GET SIZE OF ENTRY NEEDED 

ACIJUNT FOR EXTRA LINK WORD 

ALLOC A BLOCK FROM VIRT MEMORY 

LINK P'OCK TO NEXT ENTRY 

LINK 1 OCK TO PREVIOUS ENTRY 

INCREMENT LIST ENTRY COUNT 

WAS PREVIOUS ENTRY END OF LIST? 

IF NE NO 

ELSE. RESET END OF LIST POINTER 

WAS PREVIOUS ENTRY THE LIST HEAD? 

IF NE NO 

ELSE, RESET START OF LIST POINTER 

BYPASS ENTRY LINK WORD 

CONVERT ENTRY SIZE TO WORDS 

COPY DATA INTO NEW LIST ENTRY 

GET VIRT LOCN OF MODIFIED ENTRY 
IF EQ IT WAS LIST HEAD 
MARK ITS PAGE DIRTY 
IS THIS THE SYMBOL TABU? 
IF NE NO 
♦021 ELSE, UPDATE SUB-LIST POINTER 



••-ZAP— EMPTY A (VIRTUAL MEMORY) LIST 



OOOOOOG 



OOOOOOG 
?0 




000006' 

ooooo<h: 



lOOOOG 
06' 



001120 



ZAPt) MOV 
MOV 
BCO 
MOV 
MOV 
CLR 
CLR 
CLR 
MOV 
BEQ 
CALL 

MOV 

10M, iit' 
."«0V 

200$ > Mb.' 

RttUhN 



SETLSTi 



R1,-(JP) 
$LSTOP(RO).R1 

R3.-(SP) 

$L$BA$(RQ).- 

$LS8AS(R0) 

$LSTOP(R0) 

$ISCNT(r5) 

ZAPLST.RS 

100$ 

$CVRL2 

RV(RO) 

$WM>IPG 

(SP)«.ZAPLST 

($P)^.RJ 

(SP)^.RI 




SAVE R1 

PUT VIRT LOCN OF LAST FNTRY IN R1 
IF EQ LIST IS EMPTY 
ELSE, SAVE RS 
21 SAVE VIRT LOCN Of I IRST (NTRV 
CLEAR START OF LIST POINTER 
CLEAR END OF LIST POINTFR 
CLEAR LIST ENTRY (OUNT 
GET VIRT lOCN OF f IRSf FRfF Bl OCK 
IF ro FREE llSf IS FMPTY 
ELSE. GET RfAl ADDR OF LAST ... 
ENTRY IN US! fO l^P 
I INK If TO STARt or FRIF LIST 
MARK ITS PAGE DlRtV 
RESn START OF FREE LIST 
RESTORE RS 
RESTOMF n] 



^♦♦0?1 RPF I ABEL 



•••• I } •«•• 



ROLHO MACRO mi08 U-DEC-77 09:58 




*57 001120 
A58 001124 

459 001124 

460 001126 

461 001132 

462 001134 

463 001140 
'1144 

1150 
1154 
1160 
1162 

469 001164 

470 

471 000000 

472 000000 

473 000000 
474 

475 000002 

476 000002 
477 

478 000004 

479 000004 
480 

481 000006 
482 

483 000010 

484 000066 
485 

486 000066 

487 

488 



010067 000000' 

012600 

010546 

)16705 000000' 




012704 OOOOOOG 
004710 
012605 
000?07 



000001 



PAGE 4-8 










SETROL: 


MOV 


RO.ROLNDX 




.•♦♦017 SET ROLL NUMBER 


SETLSA: 








;^^021 REF LABEL 


SETROF: 


MOV 
SAVREG 


(SP)».RO 




;^^017 SAVE RETURN ADDRESS 
;SAVE REGISTERS 




MOV 


R5,-(SP) 




; AND CURRENT CHARACTER 




MOV 


R0LNDX.R5 




;SET INDEX 




MOV 


R0LBAS(R5) 


R1 


.-CURRENT BASE 




MOV 


R0LT0P(R5) 


R2 


.•CURRENT TOP 




MOVB 


R0LSIZ(R5) 


.R3 


,'ENTRY SIZE 




MOV 


»SyMB0L.R4 




.•POINTER TO SYMBOL 




CALL 


(RO) 




;CALL PROPER ROUTINE 


SETRTN: 


MOV 

RETURN 


(SP)».R5 




,•♦♦029 RESTORE CHAR (ALT USE: CLEAN STK) 
; AND REST OF REGS 




.PSECT 


IMPURE,D,RW 


.'♦♦017 


ILSNDX: 


• 






.•♦♦021 REF LABEL 


ROLNDX: 


: .BLKy 


1 




.•ROLL INDEX 


iLSPNTn 






.•♦♦021 REF LABEL 

.•♦♦021 LIST/ROLL INSERT POINTER 

.•♦♦021 REF LABEL 


ROLPNT: 
SLSFLG: 


: .BLKW 


1 





ROLUPD::.BLKW 
ZAPLST: .BLKW 
: .BLKW 



ISYLHD:: 
tENLHD: 

SUBLHD: 



.BLKW 
.END 



1 
1 
23. 

1 



.•ROLL UPDATE 

.•♦♦021 LIST HEAD FOR FREE BLOCKS 

;^^029 SUBLIST LISTHEAD TABLE 
.•♦♦029 REF I ABEL TO END OF TABLE 

.•♦♦021 ADDR OF SUB-LIST HEAD fUlNG USED 



t**« 



TT 



•••• 



RQLHO MACRO MHOS 
SYMBOL TABLE 



U-OEC-77 09:58 PAGE 4-9 



AH.DEC> 

AM.DEF> 

M<.tMM> 

AM.1NC> 

AH.NDX- 

AM.PC « 

AM.REL- 

APKND 

ASTFLG* 

BASSVM< 

BLKTOI- 

BLKTOi- 

BLKTO!> 

BLKTOA> 

BLKTCS- 

BLKT06- 

BIVTQP 

CH.AOO- 

CH.ANO- 

CH.BSL> 

CH.COL- 

CH.CGM- 

CH.DIV- 

CH.OOL- 

CH.DOT* 

CH.EQU' 

CH.HSN- 

CH.INO- 

CMJOR- 

IH.LAB- 

CKLP ■ 

CM.MUL" 

CM.PCT* 

CH.QM • 

CH.QTM- 

CH.RAB- 

CM.RP • 

CH.SMC* 

CN.SUB> 

CH.UAR* 

. ABS. 



000040 
000010 
000027 
"120 



000007 
000067 
000564RG 
0001 U 
•••**♦ GX 

mi 

000003 



)5 
000006 

■ •••*** GX 

ooooss 

000046 
000134 
000072 
000054 
000057 
000044 
000056 
000075 
000043 
000100 
000041 
000074 
000050 
000052 

177 

__ i2 

,•00076 





.1166 



PURE I 

IMPPAS 

IMPURE 000070 

ERRORS DEtECTEDi 



CH.XCL> 000047 
CPXADDb 000001 
CPXANO> 000005 
CPXCQM> 000011 
CPXC0N> 000020 
CPXDIV* 000004 
CPXFLG> 000200 
002 CPXGLB> 000016 
CPXIOR* 000006 
CPXMUL> 000003 
CPXNEG« 000010 
CPXOPC- 000010 
CPXREL> 000017 
CPXSDS> 000013 
CPXSTO- 000012 
CPXSUB- 000002 
CR • 000015 
CSTACC- 000020 
CSTALO- 000004 
CSTFLG- 000050 
CSTGBL- 000100 
CSTMEM> 000001 
CSTREL- 000040 
CSTTtP- 000200 
DEFFLG> 000010 
Dt-'GFLG- 000020 
OIG.O > 000060 
DIG. 9 ■ 000071 
DMALST* •••••• GX 

EDMASK> ••»••• GX 
EO.REG" •••••• GX 

ERRBTS- •*•**• GX 
ERR.T ■ •••••• GX 

EXITF 000454R 
FF > 000014 
GLBFLG* 000100 
GSDTOO- 000000 
GSDTOI* 000400 
GSDTQ?- 001 000 
GSOTOS* 001400 



00^ 
004 



GSDT04« 
GSDT05> 
GSDT06> 
ILVL « 
INSERF 
INSERT 
INSRTN 
IBLFLG* 
LET. A « 
LET.B > 
LET.C « 
LET.D ■ 
LET.E • 
LET.F « 
LET.G « 
LET.O ■ 
LET.Z « 
LF 

LSFLAG 
LSGBAS 
LSRCH 
LST.KB- 
LST.LP- 
LSYBKN 
LSVLST« 
MACLST' 
MDFFIG> 
MSRCH 
NEXT 
NUISEC> 
OSRCH 
PSTFLG- 
PSTROL- 
002 REGFLG- 
REGROl 
R'LFLG 
Rl PTOO* 
RLDT01* 
RLDr02> 



002000 

002400 

003000 

000001 

00061 4R 

000602RG 

0O1032R 

Eol 
01 

000103 

000104 

000105 

000106 

000107 

000117 

000132 

000012 

OOOOOORG 

000001RG 

0001 22RG 

000001 

000002 

000002RG 

•••♦•• GX 

••*••• GX 

000004 

0001 14RG 

0002 74RG 

000004 

«§"« 

•*•••• GX 

000001 

■ ••••** QX 

00004 
OOOOOi 
OOQQO 
000002 



VtRTUAl MEK)Ry USED: ^00r yORDS ( 1? PAGES) 
DYNAMIC MEMORY: 1574- yORDS ( 60 PAOfS) 
ELAPSED TIME I 00 1 00 1 55 

R(XM0,fW,?0]RO|MP/-SP»[50J0]RSXPAR.GrNMC.rLGDf.R0LHD 



RLDT03« 
RLDT04> 
RLDT05« 
RLDT06« 
002 RL0T07= 
002 RLDT10< 

002 RLDT11= 
RLDT15« 
RLDT16< 
RL0T17. 
R0LBAS> 
ROLNOX 
ROLPNT 
ROLSIZ* 
ROLTOP- 
ROLUPO 
RSX11M- 
RTN 

003 RtS11M> 
003 SAVREG" 
002 SCAN 

SCANA 
SCANU 

005 SCANX 
SCANXF 
SCANY 
SCANYF 

002 SEARCH 
■ SETLSA 
'ETLST 
ETROF 
SETROL 
SETRTN 
SETXPR- 
SPACE • 
SSRCH 
SSTROL* 
SUBLHD 
SUBMAC- 



Ob 



000003 
000004 




SYMBOL* 


****** GX 






SYMLST. 


****** GX 




o8o3o6 




TAB « 
VALUE « 


000011 
****** GX 




000007 




VMfLST- 


****** GX 




000010 




VSCAN 


000336R 


002 


000011 




VSCANX 


0004 12R 


002 


000015 




VT 


000013 




000016 




XBSRCN- 


000000 




000017 




XCREF * 


000000 




•♦♦••♦ 6a 




XEDABS> 


000000 




OOOOOORG 


004 


XEDCDR« 


000000 




000002RG 


004 


XEDFPT- 


000000 




♦•••♦• GX 




XEDLC ' 


000000 




****** GX 




XEDPIC* 


000000 




000004RG 


004 


XEDPNC* 


000000 




000000 




XFLTG « 


000000 




000456R 


002 


XMITO ■ 


****** GX 




000000 




XOPEXP- 


000000 




****** GX 




XRGERR* 


000000 




000460RG 


002 


XSUBD ■ 


000000 




000464R 


002 


XZERR ■ 


000000 




0004 32RG 


002 


X45 - 


000000 




000520R 


002 


ZAP 


001034RG 


00? 


000516R 
000532R 


002 /API ST 


000006R 


004 


002 imsu 


****** GX 




000542R 
000260R& 


002 SALVRT. 
002 tCVRl ' 


GX 

****** GX 




00I124R 


002 ICVR12> 


****** GX 




00r20R 


002 lENLHD 


000066RG 


004 


001124R 


002 tLSBAS- 


****** QK 




001120R 


002 USCWT- 


GX 




001162R 


002 ILSFIC 


000004RG 


004 


****** GX 




IISNDX 


OOOOOORG 


004 


000040 




•ISPNT 


000002RG 


004 


0001 72RG 


002 ILSTOP* 


****** GX 




GX 




ISSTCT. 


****** OX 




wr 


004 


ISYLHD 
tyRMPG* 


00001 ORG 
****** GX 


004 



•••• R I •••« 




•••* i |MM 



1 M&Aa IftAAKO MttAA •A_ika*_«* AA.ta AAA* A. 



RSOAT MACRO Ml 108 U-DEC-77 09:59 PAGE 4 



.TITLE 
. I DENT 



RSDAT 
/10.02/ 



10 

11 

!? 

U 
15 
16 
17 
IB 
19 
20 
21 

2i 

21 

2^ 
25 

26 
27 
28 



'^ noooo? 



COPYRIGHT (C) 1972,1977 

DIGITAL EQUIPMENT CORPORATION. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 10.02 
B. BOWERING 



MODIFIED BYt 



D.N. 


CUTL R 10 




D*EL A 




D*EL A 




D'ELIA 




D'ELIA 




D*ELIA 




NICHOLS 
D'fLlA 






D'EL A 




D'EL A 




D'EL A 




D'EL A 



rEB-73 

15-NOV-73 
10-JAN-7* 
05-MAR-74 
67-APR-74 
2«-APR-74i 
18-JUN-74 
22-NOV-7* 
26-OCT-7} 
01-NOV-7$ 
08-SEP-76 
n-OCT-76 



?? 



07 
10 

15 



01 

016 
017 
018 
021 



(VIRT MfMORY) 
(CRtr) 

(rXTfND TASK) 
(IMPR PtRFORMANCE) 



C.A. D'lLIA J1-AUO-77 

CD044 - ADD EXIT-WITH-STATUS SUPPORT 



•rSIDENT DATA BASE 



; 



.'NOin . STORAGE (tNDTL) 



• M MPPAS.n.GBl .RW .•♦♦QU 
JNpWRD .fll<W ittM wiftp 

CwMSICii.^liW .'CONIM' KIN MASH 

tNDL'/Lt.'.IHM ;NeSTtNC LEVEL 



*•»* 



TT 



••«• 



r. 



kthAt lurRn MnOM U-filC-77 09i59 PAGF 4-1 



RSOAT MACRO Ml 108 U-OEC-77 09:59 PAGE 4-1 



58 000( 

60 

61 

62 

63 

(A 000010 

65 000010 

66 

67 000000 

68 000000 

69 000010 
70 

71 

;i 

7* 
75 

'A 

78 

79 
80 

81 

84 
85 
86 

87 

s; 

90 

91 

l\ 

94 
95 



9? 

98 

99 

100 

101 

!8i 



109 

'^ 

109 {Mm?o 
no 000000 
111 

"i 
ns 

114 



000001 
000000 



CNDMEX::.BLKW 1 ;MEXn FLAG 

DATA DIRECTIVE STORAGE (DATDR) 



.PSECT IMPPAS.D.G8L.RW ;»»017 

CRADIX::.BLKW 1 .-CURRENT RADIX 

.PSECT IMPURE. D.RW .•♦t017 

PRGTTL::.BLKW 4 :l''ENT BLOCK 

PRGIDN::.BLKW 4 



; ENABL/DSABL STORAGE (ENBDS) 
LOCAL MACROS 

GENERATE .ENABL/.DSABL ARGUMENT ROLL 
GENEDT MNE.SUBR.INIT 
WHERE! 



MNE'A 1 TO 3 CHARACTER ARGUMENT MNEUMONIC. 

SUBR'ADDRESS OF SUBROUTINE TO BE CALLED WHEN ARGUMENT MNEUMONIC 

IS ENCOUNTEREC THIS ARGUMENT IS OPTIONAI 
INIT-IF NON-NULL. THEN DEFAULT IS DISABLE. 



.MACRO GENEDT MNE.SUBR.INIT 

.RAD50 /MNE/ 

.IF NB <SUBR> 

.WORD SUBR 

.IFF 

.WORD EDRTN 

.ENDC 
ED.'MNE-'TMP 
TMP«TMP*rMP 

.IF NB «INIT> 

.LIS! 
; ".DSABL MNE" IS DEFAULT 

.Nil ST 
IDINn«>fDINir I ED.'%» 

.ENDC 

.ENDM 



;»»021 



TMPtI 
IDlNir»0 



j»»021 

;»»0?1 INIT BIT MASH OfNfRAtOW 
l*^Oi\ INIT ENABL/DSABL lUNINUL BITS 



ePIBAStt 



PURE fDTSfC.D.CBl 



!•«! 



.IF NDF XRfl 
.It W( XFDABS 






1 REf LABiL 



RSOM MACRO W1108 U-OEt-77 09:59 PAGE <-2 



IS DEFAULT 



GENEDT 

.ENDC 

.IFF 

GENEDT 

.ENDC 



.IF NDF 
GENEDT 

.ENDC 



ASS.SECINI.F 
A8S.SECINI.F 



XEDAMA 
..F 




;»»021 



000004 



000010 
SAtL I St' 



IS DfFAmt 



9 OOOOU 



0000/0 



.IF NDF 

GENEDT 

.ENDC 



.U NDF 

GENCDT 

.ENDC 



.IF NDF 

GENEDT 

.ENDC 



GENEDT 



.IF NDF 

GENEDT 

.tNDC 



.IF NDF 
GENEDT 

.ENDC 



.IF NDF 

GtNtDT 

.INDt 



il> 



F NDF 
WDT 
.ENDC 



IDTTO^ii 



NEDCDFI 
CD«,,F 



XCHEF 
CMF 



XEDFPT 
FF»T.,F 



Gil 
XEDLC 



XCDl St 
LSt.LSiTST.F 



XfD^IC 
MC.F 



XEDWIf 
PNC.PNCSET 



OENEDf RIO 




.•♦♦0« 
.•♦♦0« 

;»»021 
.•♦♦0?T 



t**oh 



.'♦♦Ojl 
i»»0?1 



j»»0?1 



iili 

;mO?1 nV lAtFl 



*««• I s •••• 



•••• g 3 •««• 



RSOAT MACRO mi08 U-DEC-77 09:59 PAGI: A-3 



170 

171 000020 



172 
17A 



175 
176 

177 

]^ 
)!? 
IS 

is; 

186 000006 

187 

188 

189 

190 000020 

191 000020 
000022 
00002A 



000000 
000002 




001002 
005067 

000207 



OOOOOOG 



052 
052 



05 
05 



PURE LSBTST.I.GBL :tt021 



:♦ 



PROCESS .ENABL/.DSABL LSB DIRECTIVES 

NOTE: THIS CODE MAY BE ALLOCATED INTO AN OVERLAY SEGMENT 
CONTAINING THE MODULE 'ENBDS' WITHOUT PAYING FOR 
UNNECESSARY AUTO-LOAD VECTORS. 



LSBTST: BNE EDRTN 
CLR LSFLAG 

EDRTN: RETURN 



.PSECT IMPURE. D.RW 

EDMASK::.BLICW 1 

EDMCSI::.BLKW 1 

EDMBAK:t,BLKW 1 



; 



END PASS STORAGE (ENDPS) 

PURE TXTBYT.D 
052 STARS: I .ASC12 /*•*•**/ 



;t*021 JUST RETURN IF .DSABL REQUESTED 

.•♦*021 CLEAR AUTO-GENERATED SYMBOL BASE 

:**02y ... AND FLAG NEED FOR NEW LSY BLOCK 
;»t021 



;»*017 

.'CONTAINS SET BITS 
;BITS FOR CSI OVERRIDE 
{FOR RE-INIT IN PASS 2 



.•♦♦017 



; FLOATING POINT STORAGF (FLOAT) 

; 

.IF NDF XFLTG ,•♦♦01 J 

.PSECr IMPLIN.D.GBI.RW ,•♦♦017 
FLTWDfi.'.BLKW 1 ;WORD COUNT 



.(■NOC 



.•♦♦015 



; LISTING CONTROL STORAGE <LISTC) 

t LOCAL MACROS 
i 

.MACRO GINirr MNt.lNIT 

.RAD50 /MNt/ 
LC.'MNI»»TMP 
tMP>TMP^TMP 

.IF NB <INIT> 

.LIST 
; ".NLlSf MNf" IS DIFAULI 

.NIIST 
(CINirtiLClNIT ! LC.'MNI 



•••• c 3 t**« 



RSOAT MACRO N1 108 U-DEC-77 09:59 PAGE A-« 



000001 
000000 



?33 000007 

iU 000000 




2A1 0QQ01Q 
2A2 500012 
'.NLIST LO* 
2a! OOOOU 
2AA 000016 

245 000020 

246 000022 
'.NLIST «E" 
2^7 00002« 
'.NLIST MEB' 
2A8 000026 

249 000030 

250 000052 

251 OOOOS? 
l\2 000036 

54 

)5 000040 

It 

^5S 000026 
0000 M, 



IS DEFAULT 

IS DEFAULT 
IS DEFAULT 



000006 



r 




.ENDC 
.ENDM 



TMP«1 
LCINIT"0 



LCTBAS: 



PURE LCTSEC.D.GBL 



GENLCT < 

6ENLCT BEX 

GENLCT BIN 

GENLCT CND 

GENLCT COM 

GENLCT LD. 

GENLCT LOC 

GENLCT MC 

GENLCT m 

GENLIT ME. 



GENLCT MEB, 

GENLCT SEQ 

GCNLCT SRC 

oiNLCT svn 

GENLCT roc 

GENLCT TTN 



LCTTOPti 



IMPURE. D.Ry 



.PSECT 

LCSAVEii 

LCMASKii.BLKW 1 

LCLVLii .BLKW 1 

LCMCSIn.BLKW 1 
LC$AVL»«.-LC$AVf 

LCSiAKii.BLKW lCSAVL/2 



;t»021 INIT BIT MASK GENERATOR 
;tt021 INIT LISTING CONTROL BITS 



.•♦♦021 

it*021 REF LABEL 



.PSECT 
LCFLAGii.BLKW 
LCMOlii.BlKW 

lcFnolm.blkw 

LiL END 1 1. BLKW 



I 



jMPLIN.D.GBL.Ry 

1 




J ♦♦021 

;»»021 
.•♦♦021 

.'♦♦Oil 

{♦♦021 REF LABEL 



;^^017 

.•LISTING CONTROL SAVE BLOCK 

.'MASK BITS 

.•LEVEL COUNT 

;CS1 OVERRIDE BITS 

.FOR INI TING PASS 2 

.♦♦017 

.'FLAG BITS 

;POINrrR TO START OF I INE 

.•POINTER TO FND or I INt 

;END OF LABEL (fOR PARSING) 



i MACRO PROCESING STORAGE (MACRS) 

i 



.IF NDF NMACRO 



••*• 



FT 



•••• 



» 000012 
)1 000012 
» OOOOU 



OOOMA 
_ 000(K6 
291 000050 
>2 000052 
556 




000062 
000064 
000066 
000070 
000072 
000076 



, 000100 

}10 000102 

111 00010A 

1i 



19 000106 

20 000106 



gil 



IS 



000020 



>:59 PAGE 4-5 










SMLLVL: 
LIBNUM: 


.IF NDF 

.PSECT 

.BLKW 

.BLKB 

.BLKB 

.ENDC 


XSML 
IMPPAS.D 

1 
1 


.GBL.RW 


•♦♦017 

MCAIL HIT COUNT 

•♦♦013 # OF CURRENT MACRO LIBRARY FILE 
•♦♦021 UNUSED 


MSBBLK: 
MSBTYP: 
MSBPBP: 
MSBTXT: 
MSBARG: 
MSBCNT: 
MSBMRP: 
MS6RDV: 
M!k:«=NO: 


.PSECT 

.BLKW 
.BLKW 
.BLKW 
.BLKW 
.BLKW 
.BLKW 
.BLKW 


IMPURE, D 

1 
1 
1 
1 
2 
1 
1 


,RW 


•♦♦017 

•PUSHABLE BLOCK (MUST BE ORDERED) 

•BLOCK TYPE 

•PREVIOUS BLOCK POINTER 

•POINTER TO BASIC TEXT BLOCK 

•POINTER TO ARGUMENT BLOCK 

■REPEAT COUNT ETC. 

■MACRO READ POINTER 

■♦♦021 VIRT LOCN OF TEXT BLK BEING READ 

■END OF ORDERED BLOCK 


MSBLGH--MSBEND-MSBBLK 

.IIF 6T <MS8LGH-8PMB>, 


LENGTH or PUSHABLE STORAGE! 
.ERROR .-MACRO CONTEXT TOO LONG 


MACNXT: 
MACLVL: 
CONCNT: 
ARGMAX: 
MACNAM: 
MACGSB: 


.BLKW 
.BLKW 
.BLKW 
.BLKW 
.BLKW 
.BLKW 


1 
1 
1 
1 

? 




MACRO NESTING LEVEL 

MACRO NAME 

MACRO GENERATED SYMBOL BITS 


MACWKT. 
MACTXT: 
MACWrV: 


.BLKW 
.BLKW 
.BLKW 


1 
1 

1 




♦♦010 ADDR OF TEXT BLOCK BEING WRITTEN 
♦♦010 ADDR OF BASIC TEXT BLOCK 
♦♦021 VIRT LOCN OF BLK BEING WRITTEN 



.ENDC 



jXMACRO 



MISCELLANEOUS DIRECTIVE STORAGE (MSCDR) 



.PSECT 
ENDVtCn.BLKW 

.PSECT 

TTLBRKit.BLKW 
TTLBUFii.BLKi 
.BLKB 



.IIF NDF XTIMF 

?LKi 20. 
VIN 



IMPURE. D.RW 

IMPURE, D.RW 

TTILEN-1!7^M 
20. 

.BLKR 



;^^017 

;EM> VECTOR STORAGE 

.♦♦017 

;BREAK LOCATION 

;MODUin TAB^FF 

ilNTRO MSO 

20. ;Um I DATE 

;PAGE NUMBER 



IMPPAS.D.GiL.RW .♦♦017 
<»2>/? 



<5nifN« 



.PSECT 
STLBUFm.BLKW 

; SWITCH PROCESSING STORAGE (PROSW) 



;SUe IITLI BUFFIR 



•••• 



rr 



*•«• 



RSDAT MACRO Ml 108 U-OEC-77 09:59 PAGE 4-6 



$^r;8 



.2 000000 

.3 

•A 000000 

•5 



56 000020 
57 

56 000020 
59 000022 
000024 
1 



.PSECT IMPLIN.O.GBL.RW .•♦♦017 
EXMFLG::.BLKW 1 ; EXEC MODE FLAG 



; PROGRAM SECTION STORAGE (SECTR) 

.PSECT MIXED.RW.D .-♦♦021 

INAMSC : : .BLKW NUSSEC*2 .-♦♦029 IN-CORE PSECT NAME TABLE 

.IF OF VPHASE 

.PSECT IMPPAS.D.GBL.RW .•♦♦017 

PHAOFF::.BLKW 1 .'PHASE OFFSET 

.ENDC 

; ASSEMBLY DONE PROCESSING (SETDO 
t 



.PSECT MIXED. RW.D 



tHCJR:: .BLKW 1 
SMIN:: .BLKW 1 
ISECii .BLKW 1 



.IF NOF XCREF 



••♦♦021 

,•♦♦021 START HOURS 

,'♦♦021 START MINUTES 

;^^021 START SECONDS 



;^^022 



; CREF STORAGE 



.MACRO 
.BYTE 
CR.'MNI"TMP 
TMP>TMP^TMP 
MNE'SFM>'TMP2 
TMP2"TMP2^1 

.INDM 



GENCRT 
NDX 



MNE.ND<< 



TMP'1 
TMP2.0 



,•♦♦022 INIf BIT MASK GFNfRATOR 



ICRTBL ! ! 



PURE 



CRFTBL.D.G8L 



mi 



INIT CRf fORMAI COUNTER 



REF LABEL 



GENCRT SYM.SYMLST 

GENCRT REG.REGROL 

GENCRT MAC.MACLST 

(StNCRr PSf.fStROL 



;♦♦( 
;♦♦( 



.MACRO GENCRF MNF.INIT 



RSOAT MACRO M1108 U-OEC-77 09:59 PAGE 4-7 



A01 
402 
A05 
40A 
405 
406 
407 
408 
409 
410 
411 
412 
413 
414 
415 
416 
417 
418 
419 
420 
421 

424 
425 

426 
427 



)\i2 



.RADSO /mi/ 

.WORD CR.'MNE 

.IF NB <INIT> 

.LIST 
; '7CR:«NE" IS DEFAULT 

.NLIST 
CRINIT>CRINIT!CR.'MNE 

.ENDC 

.ENDM 



CR1NIT>«0 



CRFBAS:: 



PURE CRFSEC.D.GBL 



GENCRF MACJ 

GENCRF PST 

GENCRF REG 

GENCRF SVM,1 



CRFTOPii 



.PSECT IMPURE, D.RW 

CRMASKii.BLKW 1 
tLSTGTii.SLKW 2 
CRFDFLtt.BLKB 1 
CRFFILti.BLKB 1 

; SVMBOL FLAGS USED BY CRF 
; 



:**022 INIT DEFAULT r.Mf CONTROL MASK 



;»*022 

'.**022 REF LABEL 



••♦♦022 
.'♦♦022 
.•♦♦022 
.•♦♦022 

;^t022 REF LABEL 

.•♦♦022 

.•♦♦022 CREF OPTION CONTROL WORD 
.•♦♦022 LST FILE TARGFT DFVICE 
,•♦♦022 DESTRUCTIVE RCf SAVE BrTI 
.•♦♦022 CRF FILE CREATION FLAG 



CRIBTS-DFGFlG!GLBFLG!LBLFLG!RFGFLG!ReLFlG!DEFFLG 

CRF DfFN RE 

CRF DESTRUCTIVt REF flAG 



CRIDEF-CPXFLG 
CRIDRF-MOFFLG 



.•♦♦022 CRF DEFN RECORD FLAG 



J 



.ENDC 



{♦♦022 



I GET MACRO ARGUMENT STORAGF (GMARG) 
t 

.PSECT jMPPAS.D.GBL.RW .♦♦017 

GMAPNT 1 ; .BLUW 1 .POINTfR fl) rouOWING BUMtR 

GMABUm.BLKW 1 ,'PQ|N1FR TO HORROWFD CMARACtrR 

.BIKW 1 ;CHARArt(R ITSFlF 

.BLKW 5*2 ,'ROOM FOR MORE PAIRS 



t VIRTUAL MEMORY DATA 
i 



•••• I I •••• 



RSOAT MACRO Ml 108 U-OEC-77 09:59 PAGE 4-8 



000026 

000026 
000032 



.PSECT MIXED. D,RW 



SFRHD:: .BLKW 2 
$FRSIZ::.BLKW 1 



;**021 

.•♦♦021 FREE MEMORy LIST HEAD 
.-♦♦027 SIZE OF REAL MEMORY AVAIL 



000002 

000001 
000002 
000003 



StV2 » 2 

EtR4 >■ 1 

E$R7! 

EIR7(S 



ESR73 " 2 



.•♦♦021 ERROR SEVERITY (FATAL) 

.•♦♦021 CORRESPONDS TO MESSAGE 'VIRTMV 

;^^021 CORRESPONDS TO MESSAGE •VIR1M2' 

.•♦♦021 CORRESPONDS TO MESSAGE 'VIRTMS' 



.If DF EXST 

; EXIT STATUS 

lEXSTSi.'.BLKW 1 
.ENDC 



CD04/- 
CD044 
CDQ44 
CD(M« 
CDM4 
CD044 
CDQA4 
CDM4 
CD0A4 
CD044 
CDQA4 
CD044 



00003A 




.'♦♦018 

; ERROR MESSAGES 



; 



;-01l 



lit 



.MACRO GENERM MESSAG 
.WORD 1I-.-2 
.ASCII \MESSAG\ 
.EVEN 
.ENDM 



PURE ERRMSG.D.GBL 



0UTM1 t I 
INPMIi! 
CS M2 

cs n 




GENERM 
GtNCRM 
GENERM 
GENERM 
GENERM 
GfNfRM 
GINCRM 
NIRM 



RM 
GtNCRM 



•VMAC 
•VMAC 
•VMAC 
*\MAC 
•\MAC 
•\MAC 
•\MAC 

•\FWC 
•\H*C 
•\MAC 



I/O tRROR ON OUTPUT FILES 
I/O ERROR ON INPUT F1LE\ 
COMMAND SYNTAX ERRORV 
ILLEGAL FILENAMEV 
ILLEGAL SWITCHV 
OPEN FAILURE ON OUTPUT FILEV 
OPEN FAlLURf ON INPUT FIlIv 
COMMAND I/O ERROR V 
COMMAND FILE OPEN FAIlURfV 
INDIRECT COMMAND SYN'AS fRRORS 
INDIRFft f IIF DIPTM FXCFTDtDV 

rORNAf IN MACRO UBRARYV 
OR ON MACRO UBRARY FILCN 



.•♦♦0?7 






•••• N fTttT 



RSDM MACRO Ml 108 U-OEC-77 09:59 PAGE «-9 

507 

508 000662 V1RTM1 : :GENERM *VMAC — INSUFFICIENT DYNAMIC MEMORW :**02] 

509 000726 VIRTM2::GENERM *VMAC — I/O ERROR ON WORK FJLEV .•♦t021 

510 000766 VIRTM3::GENERM *VMAC — 6AK STORAGE LIMIT EXCEEDEDV ;tt021 
511 

512 
513 
5U 000001 .END 



«••• I s •••• 



RSDAT MACRO M1108 
SYMBOL TABI.E 



U-OEC-77 09:59 PAGE A-10 



AH.DEC* 

AM.DEF- 

AM.IMM- 

AM. INC- 

AM.NDX> 

AM.PC > 

AM.REL- 

ARGMAX 

ASTFLG- 

blkt5i« 

BLKTQ2> 
BLKTOS- 
BLKT04- 
BLKT05- 
BLKT06> 



000040 
000010 
000027 

m 



0QC0u7 

000067 

000070RG 

0001U 

000001 



CH.ADD- 
CH.AND- 
CH.BSL- 

CH.ca> 

CH.CGM- 
CH.OIV- 
CH.Da* 
CH.DOT> 
CH.EQU> 
CH.HSH* 
CH.IND> 
CH.IOR- 
CH. LAB- 
CM. LP ■ 
CN.MUL* 
CM.PCT- 
CH.QM > 
CH.OTM- 
CH.RAB- 
CM.RP • 
CH.SMC> 
CH.SUB' 
CH.UAR* 
CH.XCL* 
CMIM2 
CMLMS 

cam 

CI*.MS 

CNOIW 

CNDMEX 

CNPMSK 

CNDWRD 

CONCNT 

. ABS. 

IMPPAS 

IMPURt 

roTsrc 
Lserst 
fxrBvr 



000004 
000005 
000C06 
000020 
000053 
000046 
000154 
72 
54 
57 
000044 
000056 

00004S 
000100 
000041 
000074 
000050 

'f 

7? 

2 

76 






CPL » 
CPXADD> 
CPXAND* 
CPXC0M« 
CPXCON« 
CPXDIV> 
CPXFLG- 
003 CPXGLB* 
CPXIOR- 
CPXMUL* 
CPXNEG- 
CPXOPC" 
CPXREL- 
CPXSDS- 
CPXSTO* 
CPXSUB- 
CR 

CRAOIX 
CS1M2 
CSIMS 
CSIM4 
CSIM5 
CS1M6 
CSTACC* 
CSTALO- 
CSTHG" 
CSTGBL- 
CSTMEM- 
CSTRCL- 
CSTTVP- 
DEFFLG- 
DFGFLG- 
DIG. 5 • 
PIG.9 > 
IDINIT- 
IDMASK 
IDMBAK 
IDMCSI 
lORTN 
IDTBAS 
012 lOTTOP 
01? tD.AMA> 
ED.OB(o 
ED.LSB- 
rP.R(G« 
CNDVtC 
fXMFLG 
rtR4 - 

f%n7^ . 




mi 

12 




?6rg 

?4RG 
^2RG 



on 

012 



ESR76 > 

r ■ 

GLBFLG> 
GMABLK 
GMAPNT 
GSDTOp- 
GSDTOI- 
GSDTQ2> 
GSDTQS' 
GSDT04- 
GSDT05- 
GSDT06> 
ILVL ■ 
INPM1 
LBLEND 
LBLFLG- 
LCBEGL 
002 LCENDL 
012 LCFLAG 
012 LCINIT- 
012 LCLVL 
LCNASK 
LCMCSI 
LCSAVE 
LCSAVL- 
LC»AK 
LCfBAS 
LCTTOP 
IC. 

IC.BCX 
LC.BIN' 
LC.CND 
LC.COM> 
LC.LD 
LC.LOC 
LC.MC 
IC.MD 
LC.ME 
LC.MCB< 
LC.SCO 
LC.SRC 
LC.SrM' 

LC.roc 

LC.TTM' 
LIT. A 

m 111:? 

LFT.p 
U'.l 



000003 G 
000014 



SSI 



012 
010 

010 
010 
010 

003 
003 



003 
7 
7 



LET.F - 

LET.G ■ 

LET.O « 

LET.Z « 

LF 

LIBM1 

LI8M2 

LIBNUM 

L1NLEN> 

LPP « 

LSBTST 

LSFLAG- 

LSTLEN- 

LST.KB* 

LST.LP" 

MACGSB 

MACLVL 

MACNAM 

MACNXT 

MACTXT 

MACWRT 

MACWTV 

MDFFLG- 

MSBARG 

MSBBLK 

MSBCNT 

MSaCND 

MSBLGH* 

MSBMRP 

MSBPBP 

MSBRDV 

MSB! XT 

MSBTVP 

NUtSIC* 

OBJLEN* 

0UTM1 

PRGIDN 

PRGTTL 

PSTfLO- 

RfGFLC* 

HFLfLG" 

RLDLEN* 

RIDTOO* 

RlDTOI' 

RLDT 

RIOT 

RLOT^ 

RL0105 
RLDT 



000132 
000012 
000S42RG 
00061 2RG 

14RG 

•04 

174 
OOOOOOR 




2RC 
ORC 



100RG 
0001 04RG 

00005QRG 
000042RG 
000052RG 

mi 

000056RG 

I44RC 

•ORG 

J46RG 

I042RG 

1004 

h 

IG 



)1 




RLDT07" 
RLDTIO' 
RLDTH- 
RLDT15" 
RLDri6' 
012 RLDT17« 
012 RSXIIM- 
002 RII11M> 
SMLLEN- 
SMLLVL 
SPACE > 
SRCLEN- 
STARS 
STLBUF 
STLLEN- 
SUBMAC- 



005 



003 
003 



003 

003 StV? 

TAB » 
.-. TMP ■ 
003 TTLBRK 
003 TTLBUF 
003 TTLLEN- 

VIRTM1 
003 VIRrM2 
003 VIRTMS 
003 VT 
003 XBSRCH* 

XCREF * 
003 XEDABS- 
003 MEOCPR* 
003 XEDCRF- 
003 XEDFPT. 
003 XEPLC • 

XEDPIC* 

KEDPNC* 
01? XFLTG • 
005 XOPfXP* 
003 XRGERR> 

XSUBD • 




000007 
000010 

m\\ 

000016 
000017 
OOOQOO 

m 

00001 2RG 

000040 

000204 

OOOOOORG 

00001 6RG 

000100 

000001 

000002 G 

000011 

000000 

0001 16RG 

0001 20RG 

000040 

000662RG 

000726RG 

000766RG 

000013 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 



000000 
000000 
000000 

}od 

}26R0 

OOOOOOMt. 
0000.%RG 



002 



006 
002 



003 
003 



01 

01. 

012 



01 
01 



«••• J I •••« 



RSDAT MACRO Ml 108 
SYMBOL TABLE 



U-DEC-77 09:59 PAGE 4-11 



LCTSEC 
IMPLIN 
MIXED 
ERRMSG 



000040 
000012 
00003A 
001032 



007 
010 
Oil 
012 



ERRORS DETECTED: 



VIRTUAL MEMORY USED: 2016 WORDS ( 8 PAGES) 
DYNAMIC MEMORY: 157A4 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:35 

RSDAT. [30, 30]RSDAT/-SP-[30,10]RS)(PAR.«PARAM.FL6DF .RSDAT 
>« 



•••• K S •••• 



r- 



1 




•••• I r •••• 



rr 



k A.^A AJ 



1 



RSEXEC MACRO MHOS U-OEC-77 09:59 PAGE « 



.TITLE RSEXEC 
.IDENT /20.05/ 



10 
11 
12 
15 
U 
15 
16 
17 
18 
19 



IS 

27 



COPYRIGHT (C) 1972.1977 

DIGITAL EOUIP««NT CORPORATION. MAVNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLV ON A 
SINGLE COIi«>UTER SVSTEM AND NAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. NAY NOT BE PROVIDED OR OTHERWISE 
HADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD K.. K CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPi Mv- 

DEC ASSUMES NO K *>ONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 20.03 



; B. 

; 
I 
I 
t 
I 
I 
I 
< 
I 
I 
I 
I 
I 
I 
I 



BOWERING 

MODIFIED BVi 



D.N. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 
H.A. 
C.A. 
C.A. 
C.A. 
C.A. 
C.A. 



CUTLE 

D^EL' 

D'EL 

D'EL 

D'EL 

D'EL 

D'EL 

D'lL 

D'EL 

D'EL 

D'tL 

D'EL 

NICHOLS 

D'EL * 

D'EL 



D'El 
D'El 



I C.A. D'tL 

I C.A. D'EL 

] C.A. D'tl 

I C.A. D'lL 



C.A. D'E 



6-FE 



B-rj 

22-SEP-7 

64-OCT-7 

10-NOV-7 

11-N0V-7 

15-N0V-7. 

10- J AN- 74 

i-JAN-7A 

I5-MAR-7A 

'2-MAR-7* 

I7-APR-7* 

'4-APR-7A 

•-JUN-7A 

4-0CT-7A 

1-DEC-74 

APR-7; 

-JUL-75 

'0CT-7J 

•NOV- 75 

•APR- 76 

•SEP-76 



i 



(VIR: MIMORV) 

((Rfn 

(MISrrUM liNNFf 
(EXTuND TASK) 



toDn 



CD0)4 » ADD rxPRtSSION ^fACK OVtPTLOW GUARD. 

A S1-AUO-77 

0«« - ADD rxiT-WlTH-STATUS SUTPORT 



C.A. D'lLjA SI-AUG-77 



••«« N S ttt* 



«M«■^ MArmn M1in« I^.Mr.yy OOi^tt kAM Aal 



a 



RSEXEC MACRO M1108 U-DEC-77 09:59 PAGE «-1 



58 

59 

60 

61 

62 

63 

(A 

65 

66 

67 

68 

69 

70 000000 

71 

72 000000 

74 000000 
75 



'A 

I? 
H 

ti 



000000 



88 OQOOOQ 

89 000002 



90 
91 

t\ 

94 
95 



000004 



98 000000 

99 000000 



010667 000000' 



ill 



016706 000000' 



C.A. O'ELiA 22-NOV-77 

CD050 — riAKE RECORD TOO BIG A NONFATAL ERROR. 



C.A. D'ELIA 
CD051 



: MACRO LIBRARY CALLS 
i 

.nCALL CSIt 

CSII 

.MCALL FDOFFt 

FDOFFI DEFSI. 

.MCALL CCMLlt 

GCMLDI 



22-NOV-77 
- MISC (.SBTTL, /PA, .BLKW. CMD LINE) 



.•♦♦017 

.•♦♦ou 

.•♦♦017 

,•♦♦017 
;t*OU 



.MCALL CALL.RETURN.FSRSZt.GCMLt.GCMLBI ;t«017 
.MCALL CLOSES. FOATlA.FOBOFt.FDRCtA.FlNITt ;*«0U 
.MCALL CALLR .•♦♦021 



.IF NDF VQCMO 
.MCALL OPENM 
.ENDC 



••♦♦OU 
{♦♦8U 
.•♦♦01* 



.PSICr MIXED. D.RW .'♦♦017 



tSPSAVti.BLKy 1 
STKGDii.BLKW 1 



FURE PURE.I.I 



;SAVF INITIAL (RESTART) SIfCK POINTER 
j STACK OVERFLOW GUARD (ADDRESS) 



.'♦♦017 



<♦ 

; ••-START-ENTRY POINi' TO ASSEMBLER 

;- 



START) 



MOV SP.SSPSAV 



.'♦♦01' 

;SAVt INITIAL STACK POINTER 



.1' DF ENST 

MOV «-1.SexSTS ; INITIAL l/E EXIT STATUS 

.ENDC 

;♦ 

I ••-CONI-RI -ENTRY POINT 
I- 

CONTll ;Rrr lABfl FOR ASStMBl fR Rf-iTART 

MOV SSPSAV.SP .'RELOAD S1ACK POlNftR 10 INHlAl VALUE 



•/•TT5 s •••• 




; CD034 

; CD0A4 

,' fOOAA 

I CD044 

i CDQA4 

; CpOAA 

.' (004 A 

; CDOA* 

; CDyAA 
j«»-1 



HSIXEC NACW «n08 U-OEC-77 09:59 PAGE ^'^ 



)H 10S167 OOOOOOG 



It) 012700 
0100^6 




CALL KCTPRG 

COMB CLCSEC 
FINITt 

.IF NOr VQCMO 

OPENtW «CNOFDR 
.CNOC 



#CTLTBL,R0 
(«0)»,R1 

(Ri) 
($P)».RO 



CTLTBLt 



PURE DPURE.D 



.•♦♦OU INIT IMPURE DATA REGION 
{♦♦C19 INDICATE LOCN CTR INFO NOT SET 
;ttOU INIT FILE STORAGE REGION 

.•♦♦OU 
.'♦♦OU 
.'♦♦OU 



:SET FOR MASTER LOOP 
.'FETCH NEXT ADDRFSS 
.'STACK POINTER 
.'CALL THE ROUTINE 
;RETRIEVE POINTER 
.'LOOP 'TILL CONTROL IS 
; TAKEN AWAV 



<»*017 

.'TABLE TO ASSOCIATE ASSEMBLER 

;AND EXEC 



,•♦•-1 



EXEC 



ASSEMBLER 



.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 



INIOF 
ASSEM 

MACP1 

FINPT.ENDPI 
MACP?.ENDP2 
SETDN 



PUM PtJREl.l 



;t»OU INIT OUTPUT MLES 

;t*CU INIT ASSEMBLER DVNAMK STORAGE 

i**Q*k PERFORM PASS 1 

.'mOII tINISH PASS 1. END-OF-PASS 1 

,'t»0n START PASS ?. ENO-OF-PASS i 

^FINISHED. CONTROL NOT RETURNED 

.'♦♦017 



i "-INIOF -OUTPUT FILE INITIALWATION 
i- 



.' mm ^m "*«"• 



INIOF I 



MOV 
MOV 



»CMLBIK.R4 
RA.RO 



OOOO^Q 



.IF NDF SUBMAC 
OCMLI 

ULi lOVGCl 



.'GET ADDRESS OF GET ^OMMAN^ LINT BlOCK 
{♦♦01$ COPV ADDR OF GCML BtOCK INfO RO 



J ♦♦on GIT COMFMND LINE ('FORMAL GCMLB) 
{♦♦OD OIT COMMAND LINE (OVERLAID GCMlB) 



; CD0)1 
i««-1 



n 



006()00 



.(NOf i**Q\\ (RSXIIM) 



*••« B 4 •#«* 



RSEXEC HACRO W108 U-OEC-77 09:59 PAGE «-3 



100750 



BMl 



CONT 



;IF NI START OVER 



.IF NDF XTIME 
CALLR SETTIM 
.IFF 
RETURN 



;**021 

;»t021 GET ASSEMBLY START TIME AND RETURN 

;»»0?1 

t 



.ENDC 



.•♦♦021 



0007*3 



RCSTRTmCALL 
BR 



lOPTER 
CONT 



;**q}% SEND M;:SSAGfS AND CLEANUP FILES 
,'♦♦018 



START NEXT ASSEMBLY 



.ENABL LSB 



m 



II 



100705 
005567 

100^07 

m 

tioo 



GETPLlii 



000020 OOOOSO' 

OOOOOA OOOOSO* 

000000' 

000020 000263* 
000001 



000000* 

OOOOOOG OOOOCO' 
OOOOOOG 



000222 016700 000060* 



CSad 



CETPLFi CALL 
TST 



» 



ilTB 

INI 
MOV 
RCTUMN 



; OPEN INPUT 
iO'it 

Die 



121: 



MO 

RETURN 



CLOSRCiiMOV 



;GET PHYSICAL LINE 
SAVREG 

flO.OPN.IOFTBL^SRCCHN {♦♦OU IS FILL OPEN? 
10» .■♦♦021 BRANCH TO OPEN NEXT SOURCE FILE 

SRC ;^^0U GET A SOJRCE INPUT LINE 

RO 
liOtEOF.IOFTBL^SRCCHN .-♦♦OU WAS END-OF-FRE DETECTED? 

CLOSRC ;**010 CuOSE SOURCE FILE 

0ETFL6 ;F|LE CROSSING ENABlFD? 

a .■♦♦024 IF NE N() 

«CS.MOR.CSIBLK^C.STAT 
101 



IINIFL 
CUNT 

PASssy 

121 

PAS$.»ASSSW 

PAONUM 

8S"" 




ALIZE INPUT FILE 



ERROR REPORTED -• RESTART MACRO 
DECREMENT StolTCH VALUE TO M ... 
. . |K UNE WITH 'PASS' >'AIUF 



ignore if valui was /fr' 
compare *pass* and switc 
assemble this pass 
bump paoe number 

This input tile 

O.K. ' SET SUCClSk 



^LUtS 



i cooj 
J rnoJl 



!•♦- 



FDBTBL^SRCCtlN.RO ;^^017 PUT SOURCE FIlE FDB ADDR IN RO 



•••• C 4 



••t« 



RSEXEC MACRO «n08 U-OEC-77 09:59 PAGE «-« 



**t* c 4 •••• 



18 888151 ""°" '^"' 

000236 



000007 

00001 
00001 



M 000003 

244 OOOOOA 

245 

246 000004 

247 

248 000004 

Jl? 

040 



0000.?1 
000024 



249 000016 



060 
000 



060 
130 
060 

060 
060 



1030' 






CLRB 

CLOSES 

RETURN 

.bSABL 


lOFTBLtSRCCHN 
LSB 






GETFLG: 


.PSFCT 
: .BLKW 


MPPAS.O.GBL. 






.PSECT 
PASSSW::.B(.KW 
LSTFIL.'.'.BLKB 
OBJFIL::.BLKB 
iLSTVZn.BUW 


MPURE.D^RW 

1 
1 
1 


060 
060 


055 


OATTmi 


.PSECT 
.IF NOF 
! .ASCI I 


MIXED. D.Ry 
XTIME 
/00--XXX-00 / 


060 
040 


072 




.ASCI2 


/OOiOO / 



.•♦♦014 SET FILE CLOSED STATUS 
.•♦♦010 CLOSE THE SOURCE FILE 
.•♦♦010 



;riLE CROSSING ENABLE (0-VES) 



;^^017 

.•♦♦003 PASS SWITCH 

.♦♦014 INDICATES LISTING FILb CREATED 

;^^014 INDICATES OBJECT FILE CRCATFD 

;^^017 S17E OF FSR NEEDED FOR LST DEVICE 



.'♦♦017 



.INDC 
.EVEN 



•••• D 4 •••• 



■I WWWT 



RSEXEC MACRO HHOB U-OEC-77 09:59 PAGE 5 




510 
000020 
OOOOAO 
100000 



J70 000026 

271 

VZ 000026 



m oooo4i2 



;o 

000026 



000020 

1777760 

1777760 

1777760 

000006* 




I0.NNU*>Q000Q1 
IO.TTV»«Q00002 
IOtEOF»Qd5004 
IO.ERR>*000010 
10.0PN««09$020 
lOtRBG-OOOQAO 
I 0. OUT » 100000 



SOFTWARE CHANNEL DATA 
I/O STATUS TABLE 



:I/0 FLAGS 

;DEVICE IS TELETYPE 

;E0F FLAG 

; ERROR ENCOUNTERED 

;0PEN FLAG 

.•RECORD TOO BIG ERROR DETECTED 

.•OUTPUT DEVICE 



; CD050 



.PSECT 
IOFrBL::.BLKW 



MIXED. D.RW 
nAXCHN/2 



.•♦♦017 

.•I/O FLAG TABLE 



BYTE COUNT TABLE 



PURE DPURE.D ;^^017 

UF.7FDB 
;KHAN'CHN 





.MACRO 


SETCHN 


ZCHAN.Z 




.LIST 










.WORD 


2BUF 


'BUF-2 




.NLIST 










.ENDM 








CNTTBL 


tiGCNCHN 








.WORD 


LSTBUF-< 






.'CMOCMN 


.WORD 


L1NMF-: 






;SRCCMN 


.WORD 


LSTBUF- 






HStCMN 


.WORD 


08JBUF- 






;BINCHN 


.WORD 


RLDBUF- 






.•RELCHN 


.WORD 


UNBUF- 






;SMLCHN 



[♦♦015 POINTERS TO BYTE COUNTS 



! BUFFER POINTER TABU 

.PSICT MIXED. D.RW 



,♦♦017 



.MACRO SETCHN /CHAN.ZBUF.ZFDB 

.LIST 

.WORD /BUF'BUF j2CHAN'CHN 

.NLIST 

.ENDM 



BUFTBImGENCHN 
.WORD ISTBUF 



;CMO(HN 



;*»011 POINTERS TO BUFFERS 



TmTTT 



•••• 



U pOOQOOG 
1,6 OOOOOOG 
000Q5Q 000010' 
000052 0O0064' 
OOOOSA OOOOOOG 
)5 



11 000006 



U 000010 
15 
16 

17 00006A 
318 
19 000136 



-77 09:59 PAGE 5-1 












.WORD 
.WORD 
.WORD 
.WORD 
.WORD 


LINBUF 
LSTBUF 
OBJBUF 
RLDBUF 
LINBUF 




:SRCCHN 
;LSTCHN 
.'BINCHN 
.'RELCHN 
.'SMLCHN 






: MISCELLANEOUS 


I/O BUFFERS 








.PSECT 


IMPURE, 


D.RW 


.'♦♦017 




OBJBUFi 


.BLKW 
: .BLKW 


1 
<GBJLEN»1>/2 


.'♦♦022 

;^^022 OBJECT TEXT CODE BUFFER 




RlDBUF: 


.BUW 
:.BLKW 


1 
<RLDLEN 


♦ 1>/2 


••♦♦92? 

.'♦♦022 OBJECT RLD/GSD CODE BUFFER 




CMIBUF : 


i.BLKW 
.IF NDF 
.BLKW 
ENDC 


41. 

SUBMAC 

26. 




.•♦♦015 COMMAND INPUT (GCML) BUFFER 
; ALLOW 132 CHARACTER COMMAND LINES 


; CD051 
; CD051 
; CD051 




.IF NDF 


XCREF 




{♦♦022 





000260 



000262 



.BLKW 
CRFBUF : : 
ICRSVM: : .BLKW 
tCRREF 1 1 .BLKW 
ICRVALi I.BLKW 
tCRATTn.BLKB 
tCRFMTn.BLKB 

.ENDC 



[^♦022 

!♦♦ 
!♦♦ 

[♦♦O 
[♦♦O 



SYMBOL NAME 

REF DATA (PAGE-LINE NUMBERS) 

SYMBOL VALUE 



I ♦♦022 FLAGS BYTE 
[♦♦022 F( 



FORMAT NUMBER 



.IF NDF XSPOOL 



; SWITCH WORD 
t 

iSWTCHit.BlKW 1 
.ENDC 



; 

; CSI CONTROL BLOCK 

; 

CSlBLKit.iLKi C.S17I 



; FDB POINTER TABlf 

; 



;^^022 



^♦♦015 



J ♦♦015 



•**• f 4 •••« 



RSEXEC MACRO M1108 U-OEC-77 09:59 PAGE 5-2 



358 000056 



000006 



0000 




373 000056 
56 000000 



000000 

000072' 

OOOOOOG 



76 000072 



5 000072 



00007? 



00007?' 



000072' 



0002)2' 



000IS2 



% 



000000 



404 000000 

405 

406 000312 



.PSECT 


MIXED. D.RW ;*t017 


.MACRO 


SETCHN ZCHAN.ZBUF.ZFDB 


.LIST 


MEB 




.IF NB 


<ZFDB> 




.WORD 


ZCHAN'FDB ; ZCHAN'CHN 


.IFF 






.WORD 





; ZCHAN'CHN 


.ENDC 






.NLIST 


MEB 




.ENDM 






OBJCHN-BINCHN 






FDBTBL:: 




;REF LABEL 


GENCHN 
.WORD 








CMOCHN 


.WORD 




SRCCHN 


.WORD 




LSTCHN 


.WORD 




BINCHN 


.WORD RELFDB 




RELCHN 


.WORD SMLFDB 




SMLCHN 


CMLBLKii 




.'♦♦015 


.IF NDF 


SUBMAC 





GCMLBI lLVL,MAC,CMiBUF,SIZE>132. .'NORMAL 6CML BLOCK 



.in 



.'♦♦015 



CD051 
CD051 
CD051 
CD051 

;**'6 



GCMLBS ILVL.MAC.CM|BUF..PDL)ST :«t019 GCML BLK (FOR OVERlAID BLK) 

,'♦♦015 RESET 'LC' TO OVERLAY GCML FDB 

;»»015 



.•CMLBLK 

.IFTF 
FDBlii FDBDFt 
RELFDi ■ FDBI 

,irt 

. 'CMLBLK *G.DPRM 
PDLISTi .BLKB G.LPDL 



;t*Q17 FDB FOR USE ON EITHER OBJICT ... 
.'♦♦QU ... OR IISIING niE 
;mQ17 when an OBJECT FILE IS CREATED ... 
;m017 ... it always USES THIS FDB 



1*»015 



.•♦♦51} rsET 'LC 
{♦♦filj ... DEFAUl 
.•♦♦015 ALlOCAIf P 



TO OVERLAY GCMIB ... 
T PROMPT STRING AND FNB 
PUSH-DOWN LIST SIORAGf 



.PSECT IGCMIB.D.GBL.OVR.RW ,♦♦017 

OCMLBI tLVL.MAC.CM|Bur..PDLlST ;^^019 CENERAff GCMl BlK FOR OVERLAY 

.^StCT MIXED. D.RW .•♦♦017 



RSEXEC MACRO M1108 U- 


i$; 




410 




<)11 




A12 
413 




4U 




A15 




06 




417 




418 

419 000312 




420 




421 




tii 






424 




425 




426 000452 


000000 


427 




428 0(0454 


00007?' 
000312' 


429 0(0456 


4:0 




411 




{H 




434 

435 000460 


000000 


4 6 




417 




^A 






*'! 






4^( 




000004 


441 




000003 


442 
443 




000002 


000462 




444 






445 




000000' 



.ENDC 



.IF NDF YQCMO 
CMOFDB.'iFDBDFt 

FDATSA i.2.LSTLEN 

FDOPSA 

.ENDC 



,•♦♦015 



.•♦♦005 



FDB2t 
FDB3! 



FDBDFt 

.IF NDF XCREF 

FDBDFS 

.ENDC 




INXFDB::.WORD 

tFDBLSir.WORD FD81 

.WORD FDa2 

.IF NDF XCREF 

.WORD FDS3 
.INDC 

IXFDB:: .WORD 



.'♦♦022 POINTER TO NEXT AVAILABLE FDB 
;«^022 LIST OF AVAILABLE FDB'S 




;^^022 IF NEEDED. THIS FDB IS ALLOCATED 
{♦♦022 FROM DVNAMIC MEMORY 



TMP>4 .•♦♦017 RESERVE FSR'S FOR 4 ACTIVE FILES 

.IIF DF RSX11MJMP-TMP-1 .•♦♦017 I LESS IF LST FILE RFMAINS f ' OSED 

.IIF DF V0CM0.TMP«TMP-1 ;»^014 1 LESS IF QIO DIRECT TO CMO OUTPUT 

FSRS7I TMP .•♦♦005 RESERVE FILE STORAGE REGIONS 



.END 



START 



•••• M 4 •••* 



RSEXEC MACRO Ml 108 
SYMBOL TABLE 



U-OEC-77 09:59 PAGE 5-* 



ASSEM - 

BINCHN* 



BUFTBL 

CLCSEC« 

CLOSRC 

CHIBUF 

CMLBLK 

CMOCHN> 

CNTTBL 

CQNT 

CPL ■ 

CSIBLK 

CS.DIF- 

CS,OVF« 

CS.EQU" 

CS.INP- 

CS.PVM" 

CS.NMF- 

CS.QUT- 

CS.WLD- 

CTLTBL 

C.CMLD- 

C.DEVO- 

C.DIND- 

C.OSOS- 

C.FILD- 

C.MKWI- 

C.MKW2- 

C.$12E- 

C.STAT- 

C.SWAO- 

C.TVWI- 

DATTIM 

ENO^I • 

IND^2 > 

FDBTBL 

FDB1 

FOB? 

FO.CCL- 

FD.IICC> 

FO.TTf* 

FINP1 - 

F.ACTL« 

. ABS. 

MI«tO 
PURE I 
OPuIlt 
INPPAS 

MFSliT 

FMWMS 







000076 




F.ALOC« 
F.BBFS> 
F.BDB ■ 

002 F.BGBC' 
F.BKDN- 
F.BKDS> 
F.BKEF- 
F.BKP1- 
F.BKST- 

004 F.BKVB> 

003 F.CHR - 
F.CNTG" 

006 F.DFNB- 
F.OSPT- 
F.DVNM- 
F.EFBK> 
F.EFN • 
F.EOBB- 
F.ERR > 
F.FACC- 
F.FFBV* 

OOA F.FNAM- 
F.FNB • 
F.FTVP- 
F.FVER- 
F.HIBIC 
F.LUN ■ 
F.MBCT- 
F.MBC1- 
F.MBFG- 
F.NRBO- 
F.NREC- 
F.OVBS- 

002 F.RACC* 
F.RATT' 
F.RCNM- 

002 F.RCTL" 

r.Rirp. 

r.SEON* 
f.SPOV" 
F.SPUN' 

F.SfBH' 
f.UNIf- 



tfCTtOi 




!?fi 



VIRTUAL MTMORV USFDt 
OYNAMIf MFMORT. IV 



W7? tfORP< ( 16 PAOf J) 
74* IrfORDS ( 60 PAGtS) 



F.URBDs 

F.VBN « 

F.VBS2> 

GETFLG 

GETPLF 

GETPLI 

GE.BIF 

GE.CLO 

GE.C0F4 

GE.CON 

GE.EOF 

GE.IND 

GE.IOR 

GE.LC 

GE.MDE 

GE.OPR 

GE.RBG 

GE.Si; 

G.CMLO 

G.OPRM' 

G.ERR 

G.ISIZ 

G.LPDL 

G.MODE 

G.PSDS 

g.si;e 

ILVL 

INIOF 

lOFTBL 

IOIEUF 

lOIRBG 

10. ERR 

lO.NNU' 

tO.OPN 

10. our 
lo.rry 

LINBUF 

LINLEN 

IPP 

LSTBUF 

LSrCHN' 

LSTFIl 

ISfLEN 

MACPt 



)Q20 
)064 

ioQORG 
)134R 

m 

000020 




000010 
\7777i> 
177776 
177750 
OOOOAO 
000U6 
000160 
OOOUO 
000020 

m 

" )01 
K2R 
|6RG 
k G 

It? 




••••*• GX 



MACP2 « 
MAXCHN> 
NUtSFC- 

005 N.DID > 
003 N.DVNM* 
003 N.FID ■ 

N.FNAM> 
N.FTYP- 
N.FVER* 
N.NEXT- 
N.STAT> 
N.UNIT- 
06JBUF 
OBJCHN- 
OBJFIL 
06JLEN> 
PAGNUM- 
PASS « 
PASSSU 
POL 1 ST 
RELCHN- 
RELFDB- 
RESTRT 
RLDBUF 
RLDLFN- 
RSXIIM* 
Rlt11M« 
003 SAVREG- 
002 SETON ■ 
SETTIM- 
SMICHN- 
SMLFDB> 
SMLIEN- 
SRCCHN- 
SRCLEN- 
START 
STLLEN* 
SUBMAC* 
S.BFHD- 
S.FATT. 
S.FOB • 

006 S.FMAM* 

s.rw - 

S.FNBW* 



****** QX 

oooou 

n 

000032 
000000 

OOOOU 
000016 
000022 
000020 
000034 
00001 ORG 




I0003RG 
000052 
****** GX 
****** GX 

OOOOOORG 

000252R 

000010 

0OO072R 

000070RG 

000064RG 

000052 

000000 

000000 

****** 



GX 
GX 
GX 



****** 

00001? 



****** GX 




S.FNTV« 
S.FTVP« 
S.NFEN> 
TMP - 
TMPCNT- 
TTLLkN* 
XBSRCH- 
XCREF « 
XCTPRG> 
XEOABS> 
XEOCOR- 
XEOCRF' 

006 XEOFPT- 
XEOLC > 

006 XEOPIC« 
XEOPNC- 
XFLTG ■ 
X0PEXP> 

006 XRGERR- 

002 XSUBO > 
XZERR > 

002 X45 - 

003 VQCno ■ 
006 tFDBLS 

tlNlFL- 
IINOFL- 
ILSTV; 

tNxroe 

tOPTFR- 
tOVGCL" 
tREAO ■ 
tSPSAV 
!>TKGO 
tiyiCH 
tXFOB 
003 III > 
.CLOSE' 

.riNiT. 

.fSRCB- 
...PC1« 
...PC2- 
...PC3« 
...TPC« 



GX 



000004 
000002 

"0020 

10002 
000014 
000040 
000000 
000000 
****** 

000000 
000000 
000000 
OOOQOO 
000000 
000000 
000000 
000000 
000000 
000000 

gooooo 

000000 

000000 

000000 

000454Rn 

****** GX 

****** GX 

000004RG 

000452RG 

****** GX 

****** GX 

****** GX 

OOOOOORG 

000002RG 

000260RG 

000460RG 




002 



006 
002 



002 
002 
006 
00? 
007 



•••• 1 4 •••• 



RSEXEC MACRO Ml 108 U-DEC-77 09:59 PAGE 5-5 
SYMBOL TABLE 

ELAPSED TIME: 00:01:06 

RSEXEC. C50.50]RSEXEC/-SP«C50,10]RSXPAR,MPARAM,MCI0CH. RSEXEC 
u Z 



•••• 4 4 tt«« 




•••• R 4 •••« 



R5UNP HACRO W108 U-OEC-77 10:00 PACE 4 



.TITLE 
.IDENT 



RSUNP 

/oF/ 




0OO0S5 



M' 



COPVRIGNT 1972. DIGITAL EQUIPMENT CORP., MAVNARD. MASS 01754 
COPYRIGHT 1973. DIGITAL EQUIPMENT CORP.. MAVNARD. MASS 01754 
COPVRIGNT 1974. DIGITAL EQUIPMENT CORP.. MAVNARD. MASS 01754 

DEC ASSUMES NO RESPONSIIILITV FOR THE 
USE OR RELIABILITY or ITS SOFTWARE ON 
EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

THIS SOTTWARE iS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THIS INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

VERSION 02 

B. BOWERING 

MODIFIED BYt 



D.N. CUTLER 10-FEB-7S 



H.A. NICHOLS 



!J: 



JUN-74 



017 



; *«H(SOUNP-RADIX 50 UNPACK 



PURE 
RSOUNPiiMOV 
MOV 
lit MOV 
MOV 
CALL 
MOV 
CALL 
MOV 

MOV 
lOli 

nil 



PUREI.I 

R4.-<SP) 

«SYMB0l,R4 

(R4>*.R' 

#50«50.R3 

101 

«50.RS 

101 

R1.R0 

1li 

R4.«SYMB0L«4 

It 

($P)».R4 

RO 
RJ.RO 



;»»017 

;SAVt R4 

.•POINI TO SYMBOL STORAGF 

;GET NCNf WOFtD 

;SfT DIVISOR 

;DlVIDr AND STUFF IT 

jACAIN FOR NEXT 

;FINISH LAST GUV 
THROUGH? 

NO 
YES. RESTOPf RfGtSTrR 



.#31 



It m 



mi 



i:\k' 



"8o 



;TEST MIDDLf 

.•ALPHA 

.'DOLLAR 

;00t OR DOLLAR 



•••• I 4 •••• 



R5UNP MACRO Ml 108 U-DEC-77 10:00 PAGE 4-1 

58 000102 062700 000040 |||l AM #1 00-40. RO 

59 000106 062700 000040 ilil ADO #40, RO 

60 000112 110022 MOVB R0,(R2)« .STUFF IT 

61 0001 U 000207 RETURN 
62 

65 

6^ 000001 .END 



L 



•••• N 4 •••• 



IU^kn Mttl^ «i..lk*r_r* tA.AA feAAt Aa> 



1 



U-DEC-77 10:00 PACE «-2 




m 

000001 
000002 




CH.LAB 

CH.LP 

CH.MUL 

CH.PCT 

CH.QM 

CH.om 

CH.RAB 

CH.RP 

CH.SMC 

CH.SUB' 

TH.UAR 

CH.XCL 

CPXADD 

CPXANO 

CPXCOM* 

CPXCON 

CPXOIV 

CPXFLC 

CPXGLB 

CPXIOA 

CPXMUL 

CPXNCG 

CPXOPC 

CPXREL 

CPXSOS 

CPXSTO 



OO'^OSO 
0, 



R5UNP MACRO Ml 108 
SYMBOL TABLE 

AM.DEC 
AM.DEF 

AM. INC 

AM.NDX 

AM.PC 

AM.REL 

ASTFLC 

BLKTQ1 

BLKT02 

BLKTOS' 

BLKT04 

BLKTOS 

BLKT06' 

CH.AOO 

CH.ANO' 

CH.BSL 

CH.COL 

CH.COM< 

CH.DIV 

CH.DOL 

CH.DOT 

CH.EOU' 

CH.HSii 

CH.IM) 

CH.IOR 

. ABS. 000000 000 

K)0000 001 

PURE I 000116 00? 

FRRORS DETECTED: 

VIRTUAL MEMORV USED: ?^^^ WORDS ( 10 PAGES) 
DVNAMir MEMORY! 1S7U WORDS ( 60 PAGES) 
ELAPSFD TIME: nOiOO!l9 

RVJNP.CSO,101Riw.;P/-SP«[30.10JRSXPAR.GENMC.HGDr.RSUNP 
FMJL 



000010 

000015 
000012 



CPXSUB 

CR 

CSTACC 

CSTALO 

CSTFLG 

CSTGBL 

CSTMEMi 

CSTREL 

CSTTVP 

DEFFLG 

DFGFLG 

DIG.O 

DIG. 9 

DIV 

ff 

GLBF 

6SDT 

GSDT 

GSDT 

GSDT 

GSDT 

GSDT 

GSDT06 

ILVL 

LBLFLG 

LET. A 



00000? 
000015 

m 

ooooso 

000100 
000001 
000040 




)0fi 
000020 

****** (i 

000100 

OOOOr 

OOOA 

001000 

OOUOQ 

002000 

002«00 

005000 

000001 

000002 

000101 



LET.B 

LET.C 

LET.D 

LET.E 

LET.F 

LET.G 

I.ET.O 

LET. 2 

LF 

LST.KB 

LST.LP 

MOFFLG 

NUtSEC 

PSTFLG 

REGFLG 

RELFLG 

RLDTQO 

RLDTQI 

RLDT02 

RLDTOS 

RLDT04 

RLDTOS 

RLDT06 

RLD107 

RLDT10 

PLOT 11 



000102 
000105 
000104 
0001 OS 
000106 
000107 
000117 
000152 
000012 
000001 
000002 
H 




OOOOOC 
000001 
000002 
000005 
000004 
000005 
000006 
000007 
000010 
000011 



RLDT15 

RLDT16 

RLDT17 

RSX11M 

RttllM 

R50UNP 

SPACE 

SUBMAC 

SYMBOL 

TAB 

VT 

XBSRCH 

XCREF 

XEDABS 

XEDCDR 

XEDFPT 

XEDLC 

XEDPIC 

XEDPNC 

XFLTG 

XOPEXP 

XRGERR 

XSUBD 

XZERR 

X45 



000015 

m 

000000 

000000 

OOOOOORG 

000040 

0000C1 



****** GX 



900011 

900013 

500 




lOOOOO 
lOOOOO 
00000 
000000 
000000 
000000 
000000 
000000 
000000 



002 



•*•• N 4 •••• 



**** B 5 **** 



SCNLIB MACRO «l10f U-0EC~77 10:01 PAGE 5 



.TITLE 
.IDENT 



SCNLIB 
/02/ 



10 
11 

!l 

U 
15 
16 
17 
18 
19 
20 

i\ 



COPYRIGHT vC) 1974.1976 

DIGITAL EQUIPMENT CORPORATION. NAVNARO. MASS. 

THIS SUPTVARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. NAY NOT BE PROVIDED OR OTHERWISE 
K^DE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE ynO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COFWITMENT BY DIGITAL 
EQUIPMENT COROORATION. 

DEC ASSll«S NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 02 

C.A. D'ELIA 20-NOV-74 



MODIFIED BVi 



C.A. D'ELIA 
C.A. D'ELIA 
C.A. D'ELIA 



?0-OCT-75 

1-NOV-75 

)5-SEP-76 



(VIRT MEMORY) 
(CP!F) 
(KEYWORD MACRO' 



IN 8K) 



; 

i t-SCNLIB-fVERIFY AND SCAN MACRO LIBRARY FILE 
i. 

.IF NOT XMACRO 
.IF NDF NSML 



; 



; MACRO LIBRARY CALLS 



; 



t 



.MCALL FDArtR.rDRClR 



I LOCAL ASStCfMENTt 
I 

LITYP • 
tllD • 1 



JuKar! LllR^D'ftFLD 



•••t c 9 *•** 



SCNLIB MACRO N1108 U-DtC-77 10:01 PAGE 5-1 



•••• c s •••• 



000032 
000034 



18 



000002 

a? 



LSMS > 32 



LtMT > U 
LIMA ■ 40 



LtMl 



IDS > 2 
P4MAC ■ 8. 
TV«AC « 1 



LIBRARY i^T ENTRY SIZE FIELD 
.•LIBRARY NNT LOW VBN FIELD 
; LIBRARY MNT ALLOCATED FIELD 
.'LIBRAMY MNT AVAILABLE FIELD 

;LBR ID BYTE VALUE 

;SIZE OF MACRO LIBRARY rfNT ENTRIES 

.•MACRO LIBRARY TYPE VALUE 



PURE PUREl.) 



95 

ik 

1U l 


1 


1120 
lUO 

lUA 
U6 

74 


'I'OV 


200 


K 


<i'' 


f 1 


)pA 


f 


1* 

} 

4( 
50 



004767 
016001 

ml 

122761 
001170 
122761 
001164 
016167 
166167 

m^f 

005046 



000350 
000002G 

000001 000000 

000002 000001 

000010 000032 

000036 OOOOOOG 
000040 OOOOOOG 

000034 

OOOOOOG 



SCNLIB: :FDATSR 
FDRCIR 
CALL 
MOV 
CMPB 



105524 
01«"^ 



OOOOOOG 
016767 OOOOOOG OOOOOOG 

OOOOOOG 



OOOOOOG 
000162 



000002G 



SCNMNTi 

101) 

201 1 
30tt 
401: 



CMPB 
INC 

CMPB 
BNC 

MOV 
SUB 
BIT 
MOV 
CLR 
CLR 
CLR 

FDATtR 

FDRCIR 

CLR 

CALL 

BCS 

MOV 

NCXT 

BfO 

rsT 

BNf 

TSf 
BNC 

e; 

CALL 
INC 



iG OOOOOOC 



•Si 



10 

INC 
MOV 



<:>SMLFDB.«R.FI)(.. 

RO.#FD,PLC 

RDLIB 

F.NRBD*2(R0>.R1 

^TYimc.LlTYPiRI 

VFVERR 

«IDI.II1D(R1) 

VFYERR 

«MIMAC.LIMS(R1) 

VFYERR 

LIMKRD.MNCNT 

LSMA(RI).MNCNT 

VFYERR 

LIMT(R1>,R2 

MCLPNT 
-(SP) 



#512. {SET FILE ATTRIBUVES 

;READ LIBRARY HEADER IN LOCATE MODE 

;READ LIBRARY HEADER RECORD 

.'PUT ADDR OF RECORD IN R1 

) ; CHECK FOR PROPER LiBRARY TYPE 

;BAD LIBRARY/FILE iF ^;0 MATCH 

.'CHECK FOR VALID LBR iD BYTE 

.•ERROR IF NO MATCH 

; CHECK FOR PROPER MNf ENTRY SI 2' 

.'ERROR IF NO MATCH 

.-GET NUMBER OF MNT'S ALLOCATED 

.CALC NUMBER OF MN^'S USED 

;ERROR IF NEGATIVE 

;GE1 LOW VBN OF MNT IN R2 

.'BYTE-IN-BLOCK POINTER IS ZERO 

,'♦♦021 INlf .MCALL LIST PCINTER 

.'INDICATE THAT MNT READ IS NtQUIREP 



«SMLFDB.#R.FIX. 
R0.#0 

.POINT 
PNTIRR 

MCLPNT. ILSPNT 
MCLI.ST 
SCNDON 

NNCNT 

SCNDON 

RDLIB 

($P) 

SMLFDB»F.NRBD*2 

rR4)». SYMBOL 

401 

(R4 )*. SYMBOL *2 



.IMIMAC :RESFT FILE ATTRIBUTES 

.'READ MNt IN MOVE MODE 

•CLEAR HIGH ORDER OF VBN 

{POSITION INTO MNT 

; BRANCH IF FRROR 

.'♦♦021 SET l"-l POIMfH 

.'♦♦021 FirCh '.'Fxt .wcAu nm 

iHOm "-'T f*\i THIS L!«lt»APir 

.'GOT Otti., : t ALREADY prMKiED? 

;YrS. BPtAN' ; fOR ,^N0TMfR NAMF 

il% MNT rfAD REQUIED? 

.'NO. ' READ OF MNT ENTRY 

.'OlCRfK r MNT COUNT 

; TABLE EXHAUSTED. LtAVt TO GET Hmi FILE 

.ELSE. READ NEXT MACRO NAME FROM MNT 

; INDICATE MNT i NTRY WAS RtAD 
,M ;0f T ADDR OF MACRO NAME IN R4 
COMPARE WITH UNOEFINCP .MCAil NAME 
NO MATCH 
ARE WITH SECOND HALF 



<» 



.♦♦021 IF Nl 
.'MATCH. CGI#« 
.♦♦0>1 



MODE 
•LSPNT.MCLPNt 



SMAII , REAP NEXT MNT ENTRY 
HIGH. OFT NEXt .MCAll NAME 



.INDICATE MAfRU DF>N flAMO 



SAVE LIST POINTER 



•••• ( s"**** 



SCNLIB MACRO mi 08 U-DEC-77 10:0 J PAGE 5-2 




125 

126 

127 0003 

121 

M 

11 

131 OOOMO 

132 0003^2 

133 000M4 

134 000M6 

135 000352 
136 



in 



uo 

HI 

ytiZ 000354 

U3 000360 

U4 

U5 

U6 

U7 01 

ua 

U9 
150 
151 



012700 

W^ 

010246 
012402 

m 

105446 



OOOOOOG 
OOOOOOG 



OOOOOOG 



152 W 

153 0^ 


)0402 




154 X 


14211 


155 Oi 




158 W 


m 


159 0( 





004767 000060 

004767 OOOOOOG 

001043 

004767 OOOOOOG 

001440 

022737 

130411 

OOOOOOG 

001034 

001431 



If 



000167 OOOOOOG 



01 2602 




OOOOOOG 
OOOOOOG 



INSERT ; REWRITE .WALL NAME ENTRY 

MOV «SMIF0B,R0 ;PUT ADDRESS OF FDB IN RO 

CALL -SARK^, .-MARK POSITION OF NEXT MNT ENTRY IN FILE 

MOV R3,-(SP) ;AND SAVE THE INFORMATION ... 

MOV R2,-(SP) ;... IN THE STACK 

MOV (R4)*.R2 :GET POSITION OF MACRO MODULE ... 

MOV fW4)*,R3 ;... HEADER IN LIBRARY FILE 

CALL .POINT .-POSITION TO READ THE MODULE HEADER 

BCS PNTERR ; BRANCH ON (RROR 

FDATIR RO,#R.VAR .-RESET FILE ATTRIBUTES 

CALL RDLIB .-READ THE MACRO MODULE HEADER RECORD 

CALL GETLIN .-READ MACRO DEFINITION LINE 

BNE VFYERR .-ERROR. PREMATURE EOF 

CALL SETMAC .-BYPASS THE .MACRO FIELD 

?£S yi!!"".,-,, •■i?''0'lt '"T '<*C''0 TYPE DIRECTIVE 

CMP (PC)*. •(PC)* ;BE SURE THAT THE MACRO TYPE ... 

.RW)50 /.MA/ ;... DIRECTIVE USED WAS ... 

.WORD SYMBOL ;... '.MACRO' 

RNE VFYERR .-ERROR IF NOT .MACRO 

GSARG ;GET THE MACRO NAME FIELD 

BEQ VFYERR ; ERROR IF IT IS NULL 

TO PROCESS MACRO DEFINITIONS COMING FROM A LIBRARY, 
CONTROL IS PASSED TO 'MCALL*. THIS IS NECESSARY DUE 
TO THE FACT THAT 'SCNLIB' AND 'MACROD' ARE ON PARALLEL 
OVERLAY SEGMENTS IN THE SMALL ASSEMBLER. 

;«*026 PROCESS MACRO DEFINITION 
;**026 REF LABEL TO RELOAD OVERLAY 
: RE STORE MNT INFO FROM STACK 

; INDICATE MUST READ FROM MNT 
/DECREMENT OUTSTANDING .MCALL COUNT 
•REPEAT IF UNSATISFIED 

„.,^ .'SET RETURN STATUS AND CLEAN "ilACK 

RE TURN 



JMP 


IPMDEF 


iSLRTNii 




MOV 


(SP)*.R2 
(SP)*.R! 


MOV 


CLR 


(SP) 


DEC 


SMLLVt 


BNE 


SCNMNT 


SCNOONi MOV 


SMLLV .(SP)* 



122760 
001406 
000207 

004767 
01276J 
000402 



ooo<xxx, 0000000 JSI!; SSJ' .7t.io..,..i»,.oi"J5A's"a,'irf?,V{t!ic,i., 

BEQ VFYERR .ERROR. PREMAfURF tOf 

RETURN .OTHERWISE. JUST RfTURN 




PNTERR: 



CALL 

MOV 

BR 



VFYERR I MOV 
RSTRTi JMP 



EOFCK 
«LIBM2.R3 

RSTRT 

fUBMI.RS 

rIsTrt 



.'PROCESS EOF ERMOR (If APPROPRIATE) 
.ELSt. DtClARf LIBRARY FILE I/O ERROR 
; BRANCH TO IF AVE 

;DECLARE INVAilD LIBRARY FRROR 
;CLEANUP. SEFID ERROR. AND RFSTART 



000446 



I* 

i 

) *-SMLTSr-*-SCAN .MCAlL STATENINI AND CRtAfI NAME l|ST IN 'MCLROl' 



SMLTSTtiGSARG 



jGET MAC'40 NAMI 



*••• I 9 ••«• 



SCNLIB MACRO «1108 U-OEC-77 10:01 



172 000AS2 
17S 00OA5* 
17A 000^.60 




1B5 QOOiii 



00U2A 

0OU06 

005767 OOOOOOG 

001015 

005767 OOOOOOG 

001010 



005267 OOOOOOG 

000751 

016700 OOOOOOG 

000207 



000001 



01 PAGE 5-3 










BEQ 


30$ 


NONE LEFT. LEAVE 




MSRCH 




FOtJND ONE, SEARCH MASTER MACRO NAME LIST 




BEQ 


10» 


BRANCH IF NOT IN THERE 




TST 


SS' 


FOUND, IS IT ALREADY DEFINED? 
IGNORE THIS NAME 




BNE 




TST 


PASS 


♦♦022 IS THIS SECOND PASS? 
{♦♦022 IF NE YES — SKIP INSERT 
INSERT .MCALL NAME INTO MASTER LIST 




INE 


1st 


lot: 


NSERT 






f ARCH 


WLLST 


♦♦021 FIND SLOT IN NAME LIST 




NSERT 




INSERT .MCALL NAME IN PROPER ORDER 


151: 






♦ ♦022 




INC 


SMLLVL 


INCREMENT UNDEFINED MACRO NAME COUNT 


20S: 


CRFDEF 








BR 


S«LTST 


GET ANOTHER NAME ARGlf«NT 


30S: 


MOV 
RETURN 

.ENDC 
.ENDC 

.END 


SRLVL.RO 


RETURN STATUS IS NUMBER OF UNDEFINED NAMES 



•••• f 9 t***" 



SCNLIB MACRO MHOS 
SYMBOL TABLE 



U-DEC-77 10:01 PACE 5-« 



BINCHN' 



CMOCHN' 

CPL 

EOFCK 

FO.PLC 

F.ERR 

F.NR60 

f .RACC 

F.RSIZ 

F .RTYP 

GETLIN' 

GSARG 

lot 

lE.EOF 

ILVL 

INSERT 

LIBM1 

L1BM2 




00(K12R 
****** GX 
****** GX 
*•*••• GX 
*••««* GX 



000002 

000001 

****** 



GX 
GX 
GX 
GX 



GX 

GX 
GX 
GX 



. ABS. 000000 
000000 
PURE I 000S52 
ERRORS DETECTED) 



LINLEN 
LPP 
LSTCHN< 
LSTLEN' 
002 LtID 
LIMA 
LSMI 
LIMS 
LIMT 
LITYP 
MAXCHN 
MCLLST 
MCLPNT 
MNCNT 
MODE 
MSRCH 
MIMAC 
NEXT 
NUtSEC 

000 
001 
002 



m 
m 

000001 
000040 

m 

000054 
000000 

oooou 

****** GX 
****** GX 
****** cx 
****** GX 
I***** GX 
000010 
****** GX 
000004 



OBJLEN> 
PARttt> 

PASS « 

PNTERR 

RDLIB 

RELCHN> 

RESTRT- 

RLDLEN> 

RSTRT 

RSXIIM- 

RtS11M> 

R.FIX • 

R.VAR > 

SCNDON 

SCNLIB 

SCNMNT 

SEARCH- 

SETMAC- 



****** GX 

000424R 

000402R 

000010 

****** GX 

000052 

000442R 

000000 

000000 

****** GX 

****** GX 

000574R 

W^ 

****** GX 
****** GX 



VIRTUAL MEMORY USED: 5U5 llORDS ( 15 PAGES) 

DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 

ELAPSED TIME) 00t00i40 

SCNL IB. C50.503SCNLIB/-SP-C50.103RSXPAR.MPARAM.MC1OCH.GENMC, SCNLIB 

w 



SMLCHN" 

SMLFDB 

SMLLFN 

002 SMLLVL 

SMLTST 

SRCCHN 

SRCLEN 

STLLEN 

SUBMAC 

SYMBOL 

TMPCNT 

TTLLEN 

TYIMAC 

002 VFYERR 

002 XBSRCH 

002 XCREF 

XEDABS 

XEDCDR 



002 



002 



000012 


XEDCRF: 


: OOOOOQ 




****** GX 


XEDFPT: 


: OOOOOC 




000120 


XEDLC ' 


' 00000 




****** GX 


XEDPIC" 


' OOOOOC 




000446RG 


002 XEDPNC' 






000002 


XFLTG « 






» 


XOPEXP' 
XRGERR> 






000001 


XSUBD ' 






****** GX 


XZERR ' 




00)014 


X45 i 


. ooooo! 




oa)04o 


VQCMO ■ 


c oooooo 


00)001 


ILSPNT. 


1 ****** GX 


00 456R 


002 tPMDEFi 


. ****** GX 


000000 
000000 


IREAD ' 


. ****** GX 


tSLRTN 


000560RG 


000000 
000000 


.MARK • 


. ****** GX 


.POINT. 




GX 



002 



•••• t S •«•• 




•••« H S •••• 



SECIR MACRO MHOS U-OEC-77 10:01 PAGE 4 



.TITLE SECTR 
.IDENT /U/ 



COPYRIGHT (C) 1972.1976 

DIGITAL EQUIPMENT CORPORATION. MAVNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 06 
B, BOWERING 

MODIFIED BY: 



D.N. CUTLER 6-FEB-73 

H.A. NICHOLS Te-JUN-74. 

C.A. d'ELIA QI-AUG-74 

C.A. D'ELIA 

C.A. D'ELIA 

C.A. D'ELIA 

C.A. D'ELIV 



I-MAR-75 
iO-OCT-75 
01-NOV-7^ 
13-OCT-76 



(VIRT MEMORY) 

(CREF) 

(IMPR PERFORMANCE) 



LOCAL MACROS 

GENERATE SECTION ATTRIBUTE ROLL ENTRY 

GENSAT SAT.FLG.TVP 

WHERE: 

SAT*A 1 TO S CHARACTER SECTION ATTRIBUTE NAME. 
FLG-StCTION ENTRY FLAG BIT DEriNIHON. 
TYP«FIAG 



• BIT DISPOSITION. 
(F TYP GC 0. THEN CLEAR FLAG BIT. 
IF TYP LT 0. THEN SET FLAG BIT. 



.MACRO GENSAT SAT.FLG.TVP 
.RAMO /SAT/ 
.BYTE fLG.TYP 



•••« 1 I •••• 



SECTR MACRO MHOB U-DEC-77 10:01 PACE «-1 




SATBAS:: 



.ENDM 

PURE SATSEC.D.GBL 



SATTOP:: 



GENSAT 
GENSAf 
GENSAT 
GENSAT 
GENSAT 
GENSAT 
GENSAT 
CENSAT 
GENSAT 
GENSAT 
GENSAT 
GENSAT 



ABS.CSTREL.I 

C0N.CSTALO.1 

0,CSTTYP,-1 

GBL.CSTG8L.-1 

M6M,CS1«EN.-1 

I.CSTTyP.I 

LCL.CSTCaL.I 

LOW.CSTNEN.I 

0VR.CSTAL0.-1 

REL,CSTRtL,-1 

R0.CSTACC,-1 

RW.CS' rc.i 



.'♦♦017 
;RFr LABEL 



PURE PUREI.I 



;REr LABEL 
.•♦♦017 



i ••-ASECT-ABSOIUTE P-SECTION 

; ♦•-CSECT-DEFAULTED ATTRIBUTE P-SECTION 

• **-PSECT-PROGRM«MBLE ATTRIBUTE P-SECTION 

; ••-PHASE -PHASE P-SECTION LOCATION COUNTER 

; ••-OEPHA-OEPHASE P-SECTION LOCATION COUNTER 

I ••-SECINI-P-SECTION TABLE INITIALIZATION 

1- 



lOOOG 
02Q 



ASfCT:i 
ASKTr; 



CSECTi) 



lOli 
CSECTFt 



PSfCTii 



.ir Nor 

CALL 

MOV 

MOV 

MOV 

BR 

CALL 

MOV 

TSTARG 

BEQ 

BIS 

GETSVM 

CALL 

BNI 

MOVB 

MOVB 

BR 

CALL 

rSTARG 

INC 

GETSVM 

fAll 

SovB 



lOll 



ST 

.RIP 



IPT 

ly 

NOR 



NRFL 

SETMAJ< ;Cl08f OUT CURRENT P-SfTTION 

RSOABS, SYMBOL iSET DTTAULT ABS SECTION NAME 

RS0ABS^?.SVMBOL^^ 

fASTKG.R? .•♦♦0?1 GET .ASECT fLAGS 

CSECTF 

lillt'^. -, •f'-95! Oy^ CURRENT P-SECTION 

#CSTfLG.R2 .♦♦OJl GET OfFAUir .CSECt FLAGS 

.'ANY NAME? 
101 iir EO NO 

«CSrALO!CSTGBL.R^ :**02\ SET OVERIAID AND GLOBAl HAGS 

jGEt SECTION NAME 
WNOSC .•♦♦0?1 LOOK FOR A MAIfMiNO PSFCt NAMt 

PSfCTF ;|F NE MATCH FOIWO 

W.(RS)^ ^♦♦OPI StT MODf riAGS 

•LSCNT^SECLST.(Ri)^ .•♦♦0?1 AND SECTION NUMBER 
PSECTF ; 

SETMAX ; CLOSE OUT CURRENT P-${CT|ON 

;TES1 'OR ARGUMENT (SET UP) 
ARGCNT ;INCRtMENf ARGUMENT COUNT 

.. . .'Wf SECTION NAME 

WNOSC .•♦♦Oi'l lOOR FOR A MATCHING PSfff NAME 

IQI . ;IF M FOUND MATCH 

fPSTFLG.CRS)^ :**Qi\ SET DEFAULT .PSEft HAG5 
H»£!*'*s?t'»l.<"'>» {♦♦0?1 AND SECTION Ni»ilT» 



HS'.J!' 



iSymbol 

-<R3).-(SP) 



ITAfK SECTION 
;STACR SECTION 



•••• J f •••• 



000270 

Hi 

U) 000270 

U6 

H? 

1)0 000M6 



'5' 

160 

161 



18 



iH 



169 000^10 
1M 



00U20 




012701 
012702 
004767 



-OEC-77 10:01 PAGE 4-2 








20t: 


TSTAKG 




ANY MORE ARGUMENTS? 




BEQ 


301 


IF EQ NO 




GETSYM 




GET ATTRIBUTE SYMBOL 




SCANW 


SATROL 


SCAN FOR A MATCH 




BEQ 


PSECTA 


IF EQ ERROR 


000002G 
000004 


MOV 


#SYMBOL»2,R0 
(RQ).4(SP) 


GET ADDRESS OF ARGUMENT WORD 


n? 


ASSUME BIT IS TO BE CLEARED 




(RO) 


CLEAR OR SET? 




BPL 


201 


IF PL CLEAR 


OOOOOA 


BISB 


(R0).4(SP) 


SET BIT 




W 


20S 


•GO AGAIN 


301 1 


MOV 


(SP)*.<R3)* 


RESTORE SECTION NAME 




MOV 


(SP)»,(R3)* 






MOV 


(SP)».(R3)» 


RESTORE SECTION ATTRIBUTES 




MOV 


(SP)*.(R3)* 






MOV 


(SP>»,(R3)» 




OOOOOOC OOOOOOG 


MOV 


«SECLST,ILSN0X 


•♦♦021 RESPECIFY USE OF PSECT LIST 


PSECTFi 


INSERT 




INSERT SECTION 


Oo888?G 


MOV 


«SYMB0L,R1 


GET ADDRESS OF SYMBOL 


MOV 


«CLCNAM.R2 


•GET LOCATION CO<JNTER ADDRESS 


OOOOOOG 


CALL 


NMIT5 


♦♦015 UPDATE LOCATION COUNTEH 



032767 0000006 OOOOOOG 
OOOOOOG 



oguoj 



00SO67 



000167 OOOOOOG 

062706 000012 
000207 



.IF NDF XEDLS6 

BIT «ED.LS6.EDMASK 

BEQ 401 

CLR LSFLAG 



401 1 



.•♦♦017 IS .ENABL LSB IN tFFECT? 
;^^017 YES. DON'T CHANGE BLOfK NUMBER 
.•♦♦017 CLEAR AUTO-CENERATED SYMROL BASE 
AND INDICATE NEED NEW (MlOCK 



.ENDC 
JMP 



.'♦♦017 ... 
.•♦♦017 



PSECTA) ADD 

ERROR 
SECRTNt RETURN 

.IF Df 
PHASE M RELEXP 
CMPB 
BNE 
MOV 
SUB 
MOV 
RETURN 
111 ERROR 

RETURN 
DEPHAm SU9 
CLR 



SETPFO 



#5«2,SP 

A 



YPNASE 



.INOC 



SECTOR. CLCSEC 

RO.PHAOFF 

CLflOC.PMAOFF 

RO.CLCLOC 



fH«AOFF,CLCLOC 
PNAOFF 

;YPHA$E 

;NRtL 



.•♦♦01) LIST NEW LOCATION COUNTER 



;CLEAN STACK 
.SET ERROR FLAG 
;^^019 



.FVALUATE RElATlVf FXPRESSION 



.'SUBTRACT OUT PHASE OFF SET 



SIC INI It 



•••• 



TT 



«••• 



SECTR MACRO MHOS U-OEC-77 10:01 PAGE «-3 



.IF NDF XREL 



.IF NDF XEDABS 



IDS: 



000310 00*767 177*70 

)5U 005Q67 OOOOOOG 

' " \? 0OOOO2G 

12 0000)0 




200 0003SO 0U06S1 




TST 
BEQ 
TSTB 
BMI 



,ir Tf 

CALL 
CLR 
CLR 
MOV 

.IFT 

BIT 
BNE 

RETURN 

.IFF 



.ENDC 

ll?' 



EXMFLG 
101 

CLCSEC 
SECRTN 



AStCTF 

SYMBOL 

SVMBOL*? 

/VCSTFLG.R2 



fED.ABS.EDMASK 
CSECTF 



CSECTF 



iVED.ABS.EDMASK 



BEO 

ERROR A 
BIC «EP.ABS.Et)MASK 

111 RETURN 

/♦ 

; M-LlMIf -PROGRAM LIMITS 



;*»019 

;*»019 SERVICING /ENsABS OR /DS:ABS? 

;»t019 IF EQ FALSE— CONTINUE 

.-♦♦019 CHECK CURRENT PROGRAM SECTION 

.'♦♦019 IF MI RETURN—INOICATCS THAT ... 

;tf019 THIS IS SERVICING A CMD LINE ... 

;»»019 SyiTCH FOR OBJ FILE IN FIRS1 .... 

.•♦♦019 PASS— ROLLS AREN't INITIALIZED. 

.•♦♦019 

;MOVE ONTO ROLL 

;DITTO FOR BLANK CSECT 

;^^021 SET DEFAULT .CSECT FLAGS 

;^^019 

;ABS MODE 7 
; NO 



; XEDABS 



H? 0000006 
M 00*400 



.IFT 

LiMt Til CALL 06JDMP ;(HJW flMfi! BUFFER 

CLR (R4) {CLlAB^gi 

MOV #RLDT11«*00.-(R*) jllT RLD TYPE 



m Wli 



0000000 



000001 



STCODt 

CLR (R*> 

m STCODI 

.INOC 

.INO 



• Mt I S •••• 





SECTR MACRO mi 08 
SYMBOL TABLE 



AM.DEC 

AH.DEF 

AM.IItl' 

AM. INC 

AM.NDX 

AM.PC 

AM.REL 

ARGCNT 

ASECT 

ASECTF 

ASTFLC 

BLKT 

BLKT 

BLKT 

BLKT 

BLKT 

BLKT06 

CH.AOO 

CH.ANO 

CH.BSL 

CH.COL 

CH.COM> 

CH.DIV 

CH.DOL 

CH.DOT 

CH.EQU 

CH.HSH 

CH.IND 

CH.IM 

CH.LAB' 

CM. LP 

CH.fU 

CM.PCT 

. ABS. 



SATSEC 

PURE I 0005)6 

ERRORS DETECTED! 



U-DEC-77 10:01 PAGE «-* 





CH.QH 

CH.QTM< 

CH.RAB 

CM.RP 

CH.SMC 

CH.SUB' 

CH.UAR 

CH.XCL 

CLCNAM- 

CPXAOD 

CPXANO 

CPXCOM- 

CPXCON 

CPXDIV 

CPXFLG' 

CPX6LB 

CPXIOR 

CPXMUL 

CPXNEG 

CPXOPC 

CPXREL 

CPXSDS 

CPXSTO 

CPXSUB 

CR 

CSECT 

CSECTF 

(STACC- 

CSTALO- 

CSTriG. 

CSTGBL* 

CSTNIM* 






CSTREL 
CSTTYP 
DEFFLG 
DFGFLG 
DIG.O 
DIG. 9 
EDMASK 
ED.LSB 
ERRBTS 
ERR. A 
FF 

GETSVM> 
GLBFLG 
GSDTOO 
GSDTQI 
GSDT02 
GSDT03 
GSDT04 
GSDTOS 
0SDT06 
ILVL 
INSERT 
LBLFLG 
LET. A 
LET.B 
003 LET.C 
003 LET.D 
LET.E 
LET.F 
LET.G 
LET.O 
LET.; 





VIRTUAL MEMORY USED 
DYNAMIC MEMORY! 15 



! ?m WORDS ( 11 PAGES) 
Ti>t> WORDS ( 60 PAGES) 



ELAPSED TIME: OOiOOi^ft 
SECTR,tS0.30]StC!R/-SPfC50.10]RS>(PAR,CINM(,KGDF,$ICTR 

MX 



LF 

LIMIT 

LSFLAG« 

LST.KB* 

LST.LP* 

MDFFLG> 

NUtSEC- 

OBJDMP- 

PSECT 

PSECTA 

PSECTF 

PSTFLG 

REGFLG 

RELFLG 

RLDTOO 

RIDTOI 

RLDT02 

RLDTOS 

RLDTOA 

RLDTOS 

RLDT06 

RL0T07 

RL0I10 

RLDT11 

RLDT15 

RLDT16 

RLDT17 

RSX11M 

RISIIM 

RSOABS 

SATBAS 

SATROL- 



00001? 
000332RG 

000001 
000002 
000004 
000004 



**••*• GX 



003 




H 



000004 

ooooos 

000006 
000007 
000010 
000011 
00001) 
000016 
000017 
000000 
000000 
****** ox 

OOOOOORG 
•••••• GN 



SAT TOP 
SCANW 
SECINI 
SECLST 
SECRTN 
SETMAX 
SETPFO 
SPACE 
STCODE 
SUBMAC 
SYMBOL 
TAB 
TSTARG 
VT 

XBSRCH 
XCREF 
XEDABS 
XEDCDR 
XEDFPT 
KEDLC 
XEDPIC 
XEDPNC 
MFLTG 
XMIT) 
NOPEXP 
XRGERR 
XSUBD 
XZERR 
X4! 

tFNDSC 

00^ tl SCNT 

ILSNDX 



GX 
GX 
GX 



000060RG 

****** (jx 

00031 ORG 

****** GX 

000306R 

****** QX 

****** GX 

000040 
****** 

000001 
****** 

000011 
****** 

000013 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
****** 

000000 
000000 
000000 
000000 
000000 

***••* 



002 
003 
003 



ox 



GX 
GH 
GX 



MM N S •••• 



IT 



SETOIR HACRC mi 08 U-DEC-77 10:02 PAGE 5 



.TITLE SETDIR 
.IDENT /03/ 




OlJw 000012 



00040) 




Vf oooors 



«? 



; COPVRIGHT 19)^2, DIGITAL EQUIPMENT CORP., NAVNARD. MASS 01754 

: COPVRIGHT 1973. DIGITAL EQUIPMENT CORP., MAVNARD. MASS 01754 

I COPYRIGHT 1974. DIGITAL EQUIPMENT CORP.. MAVNARD. MASS 01754 

' DEC ASSUMES NO RESP0NSI8ILI1V FOR THE 
I USE OR RELIABILITV OF ITS SOFT!) RE ON 
I EQUIPMENT yniCH IS NOT SUPPLIED BY DEC. 

i TKIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 

; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 

; OF dec's copyright NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 

{ AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

• 

i THE INFORMATION IN THIS DOCUMENT IS SUBJECT TC CHANGE WITHOUT 

; NOTICE AND SHOULD NOT BE CONSTRtKID AS A COMMITMENT BY DIGITAL 

; EQUIPMENT CORPORATION. 

i VERSION OS 



B. BOWBRING MAIN AUTHOR 



i MODIFIED BY) 



P.N. CUTLER 20-JAN-7S 



C.A. D'ELIA 

C.A. D'ELIA 

C.A. D'ELIA 

H.A. NICHOLS 



lf:!ISS:f! m 



I C.A. D'ELIA 22-MAR-/4 014 
I H.A. NICHOLS 1I-JUN-74 017 
I 
t 

t •*-SETDIR->PROCESS LINE AND RETURN SUCIESS IF POSSIBLE DIRECTIVE FOUND 

i 

i 

' "UM PURII.I ^♦♦017 

IITDIRii ;oOoa 

ill GETSYM ;TRY FOR SYMBOl 



6ETSYM 
,IF NDF 



110., R2 



lit 




; BRANCH IF FOUND 

" IWCIFY DECIMAL RADIX 
TRY NUMERIC CONVERSION 
CAN'T DO IT " RftURN FAIl 
SUCCESS — IS THIS A LOCAL I ABEL? 
NO, RETURN FAIL 
lli, GET NEXT NON-BLANK CHAR 
14 BRANCH TO TEST FOR LABtl 

i EXIT IF NO SYMBOl 

;AtS10NMfNf (•)? 

i Hi. IGNORE tHlS LINE 




•••• I 4 •••• 



SETOIR MACRO M1108 U-OCC-77 10:02 PAGE 5-1 



••** B 6 **** 




61 
62 
63 
(A 
65 
66 
67 



fO 
71 
72 



2 
6 


000060 
000062 
000066 
000070 
000076 
000100 



020527 
001010 


000072 




tm 


R5,#CH.C0l 


LABEL (:)? 






BNE 


4$ 


NO 








GETNB 




YES. BYPASS COLON 


020527 


000072 




C«P 


R5,.KH.C0L 


ANOTHER COLON? 


001 5A7 






BNI 
GETNB 


It 


IF N* NO 

BYP» > SECOND COLON 


0007^4 






BR 


It 


km CONTINUE 


127727 


OOOOOOG 000056 


4ti 


CMPB 


aSYMBEG,*'. 


•♦♦0( • lAN TnS BE A DIRECTIVE? 


oouoi 

005000 






BEQ 


6t 


•t*008 YES. RETURN SUCCFSS 




b%: 


CLR 


RO 


•FALSE 


80 




6t: 


TST 
RETURN 


RO 


♦♦008 SET RETURN STATUS 



000001 



•#«• C 4 *•** 



•**• c 6 **•• 



SETDIR MACRO Ml 108 
SYMBOL TABLE 



AM.DEC' 
AM.DEF- 

AM.INC> 
M.NDX« 
AM.PC » 
AM.REL- 
ASTFLQ* 
BLKTOI- 

blkt52> 

BLKTOS> 
BLKfM- 
BLKTOS- 
BLKT06> 



U-OEC'77 10:02 PAGE 5-2 





CH.ADO- 
CH.AND" 
CH.BSL*' 
CH.COL- 
CH.CQM> 
CM.OIV* 
CH.DOL" 
CH.DOT' 
CH.EQU- 
CH.HSH- 
CH.INO- 
CH.IOR> 
CH.LAB- 
CM. LP ■ 

. ABS. 



PURE I OOOK 
ERRORS DETECTEDi 




066650 



CH.MUL 

CH.PCT 

CH.QM 

CH.QTM 

CH.RAB 

CH.RP 

CM. SMC 

CH.SUB 

CH.UAR 

CH.XCL 

CPL 

CPXADD 

CPXANO 

CPXCOM' 

CPXCON' 

CPXDIV 

CPXFLO 

CPXGLB 

CPXIOR 

CPXMUL 

CPXNEG' 

CPXOPC 

CPXREL 

CPXSDS 

CPXSTO 

CPXSUB 

CR 

CSTACC 

CSTALO 



000052 

m 

000042 
006076 
000051 



i^l 




)02 



VIRTUAL MEMORY USED) 2757 WORDS ( 11 PAGES) 
DYNAMIC MEMORY. 157«A wr)RDS ( 60 PAGES) 
ELAPSED TIME: 00:00: )1 
SETOIR. [30,50. 
wO 



CSTFLG 

CSTGBL 

CSTMEM> 

CSTREL 

CSTTYP. 

CVTNUM* 

DEFFLG 

DF6FLG 

DIG.O 

DI6.9 

FF 

GETNB 

GETSVM> 

GLBFLG 

GSDTOO 

GSDT01 

GSDT02 

GSDTOS 

GSDTM 

GSDTOS 

GSDT06 

ILVL 

LBLFLG 

LET. A 

LET.B 

LET.C 

LET.D 

LET.E 

LET.F 




•••*•• GX 



oooou 

000100 
000000 
000400 
001000 

oouoo 

'm 

looo 




0102 
0103 
100104 
•00105 
100106 



GX 
GX 



56jSET6lR('-SP»r<0.1umSK»AR, MP ARAM, fit NMC.HGDF, SETDIR 



LET. 6 «' 

LET.O 

LET. 7 

LF 

LINLENi 

LPP 

LSTLEN' 

LST.KB 

LST.LP 

MDFFLG 

NUtSEC 

06JLEN< 

PSTFLG 

REGFLG 

RELFLr. 

RIDLEN' 

RLDTQO 

RLDTQ1 

RLDTQ2 

RLDTOS 

RLDT04 

RLDTOS 

RIDT06 

RLDT07 

RLDTIO 

RLDT11 

RLDT15 

RLDT16 

RLDT17 



000132 
000012 
000204 
0000-', 
000204 
000001 

» 

)4 

000050 
000001 
000040 
000052 
000000 
000001 

»l 

000004 
000005 
000006 
000007 
000010 
00001 1 
000015 
000016 
000017 



RSX11M' 


> 000000 


RSS11M> 000000 


SETDIR 


iooooof;g 


SMLLEN' 
SPACE ' 


■.WiS& 


SRCLEN' 


i 1 100204 


STLLEN- 


' 000001 


SUBMAC' 


SVMBEG' 


1 ***••* 6X 


TAB ' 


' 000011 


TTLLEN" 
VT 


. 0OQO4Q 
« 000013 


XBSRCH> 


. 000000 


XCREF ' 


> 000000 


XEDABS' 


r 000000 


XEDCDR' 


> 000000 


XEDCRF' 


1 000000 


XEDFPT' 
XEDIC • 


' 00?0§0 


XEDPIC' 


1 000000 


XEDPNC< 


> 000000 


XFLTG " 


000000 


XOPEXP« 


000000 


XRGERR' 


000000 


XSUBD ' 


000000 


x;err • 


000000 


X4S • 


000000 
000000 


YaCMO ' 



002 



•••• ( 4 •••« 



***• P 6 •«#« 




•«•• I i •••• 



WWWW p Q WWWW 



SETDN MACRO MHOS U-DEC-77 10:02 PAGE 6 



.TITLE 
.IDENT 



SETDN 
/09.02/ 



COPYRIGHT (C) 1972. 1977 

DIGITAL EQUIPMENT CORPORATION, NAVNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND NAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 09.01 
B. BOWERING 



MODIFIED BY: 



D.N. 
C.A. 
C.A. 
C.A. 



CUTLER 
D^ELIA 
D'ELIA 
D'ELIA 
H.A. NICHOLS 
C.A. d'ELIA 
f>'ELIA 
D'ELIA 
D'ELIA 
D'ELIA 



10-F 



C.A. 
C.A. 
C.A. 
C.A. 



22-MAR-74 
67-APR-7* 
24-APR-7* 
18-JUN-74 
01 -AUG- 74 
03-JAN-75 
?0-OCT-7} 
01-NOV-75 
OI-SEP-76 



(VIRT MEMORY) 
(CREF) 
(EXTEND TASK) 



C.A. D'ELIA 
CD047 



SO-SfP-77 

' ADD COMMON SUBTASK DISPATCHING SUPPORT. 



iMCALL 

ldi 



GCMLDS 



QCMLt 

.MCALL QTIMIS 

.IIF NDF XCRtF. .MCALL 



I'M 

j»»017 
ClOSEt.GlUNlS 



; C06A7 
jo-1 



; LOCAL DATA 
t 



••** t i •«•* 



SETDN MACRO MHOS U-OEC-77 10:02 PAGE 6-1 



.NLIST BEX 



61 000000 

62 000000 

63 000023 

64 OOOOSA 

65 000067 

66 000077 

67 000121 

68 000U1 
69 



105 
015 
040 
040 
104 
105 
112 



122 
012 
127 
120 
131 
114 
101 



122 FINMSG 

126 FINMS1 

117 F]NnS2 

101 FINMSS 

116 DVNMS6 

101 TimSG 

116 MONTHS 



PURE 



TXT8VT.0 



••♦♦017 



.ASCIZ /ERRORS DETECTED: /; 

.ASCIZ <CR><LF>/VIRTUAL NENORV USED: / 

.ASCIZ / WORDS ( / 

.ASCIZ / PAGES)/ 

.ASCIZ mnmic nENORV: / 

.ASCIZ /ELAPSED TIME: / 

.ASCII /JANFEBMARAPRMAVJUNJULAUGSEPOCTNCVDEC/; 



♦ ♦021 

♦ ♦021 

♦ ♦021 

♦ ♦027 

♦ ♦027 



.LIST BEX 

.IF NOF XCREF 
PURE DPURE.D 



.•♦♦022 
;^^022 



CTLLSTi ;^^022 TABLE TO CONTROL DATA TRANSFER 

.BYTE N.FNAM,N.FNAN^2 N.FNAM^4,N.FTVP.N.FVER ,■♦♦022 
.BYTE N.D1D.N.DID^2,N.DID^4,-1 .•♦♦022 



.EVEN 



.ENDC 



;^t022 



.••*-1 



000205 



^767 

6701 

0146 

767 




PURE PUREI.l 



{♦♦017 



000000' 




OOOOOOG 



5;% 



»♦ 

i ••-SETDN-8ET 



SETDNi: MOV 
MOV 
CALL 
MOV 
MOV 
CALL 
CLRB 
PUTLP 
T$T 
BtO 
PUT« 

at MOV 
MOV 
CALL 
MOV 
CALL 
MOV 
CALl 

3L 

CLRB 



DONE-END OF PROGRAM CLEAN UP 



fFlNMSG.RI 

#LINBUF.R2 

MOVBYT 

ERRCNT.RI 

R1,-(5P) 

DNt 

(R2> 

fLINBUF 

r 

«LINBUF 

«LtNBUF.R2 

fFIWSI.RI 

MOVBYT 

IHGVAD.R1 

DNC 

fFlNM$«>,R1 

MOVBtf 



;SET FOR FINAL MESSAGE 
;MOVE INTO LINBUF 

;PRINT IN DECIMAL 

JLIST TO LP 

;BRANCM jF NO FRRORS 
;ELSE PUT ON KB 

{♦♦021 GET HIGHEST VIRT lOCN USED 



W iil 



1 Gtl MIGHtSt VJRT LOCN KSID 
1 ROUND UP TO NfXT PAGF 
1 DIVIDr BY hi. 



•••• I 4 •••• 



T 



SETDN MACRO M1108 U-DEC-77 10:02 PAGE 6-2 




lOOli 



2001) 



SOMi 



SWAB 

CALL 

MOV 

CALL 

PUTLP 

MOV 

MOV 

CALL 

MOV 

CLC 

ROA 

CALL 

MOV 

CALL 

MOV 

MOV 

CLR 

DIV 

MOV 

CALL 

MOV 

CALL 

PUTLP 

MOV 

MOV 

CALL 

MOV 

criMts 

ADD 

MOV 

SUB 

6CC 

ADD 

DEC 

SUB 

BOE 

ADD 

DEC 

SUB 

Ml 

ADD 

MOV 

CALL 

MOVB 

MOV 

CALL 

MOVB 

MOV 

r 

MOV 



R1 

DNC 

«F1NMS3.R1 

MOVBYT 

«L1NBUF 

«DVNMSG.R1 

fLINBUF,R2 

MOVBYT 

IFRSIZ.RI 

R1 

DNC 

«FINMS2.R1 

MOVBYT 

IFRSIZ.R1 

«PSGSlf.R3 

R3.R0 

R0.R1 

DNC 

«FINMS3.R1 

MOVBYT 

niNBUF 

«LINBUF.R2 

«T1MMSG.R1 

MOVBYT 

«LINBUF*S0..NS 

«G.T1SC,RS 

nSEC.R« 

(R4).(RS) 

loot 

#60.. (RS) 

-2(Ri) 

-(R4).-(R5) 

200S 

«60..(R)) 

-2(R$) 

-(R4).-(RS) 

3001 

»24..(R)) 

TIMCvf 

#'i,(R2)» 

(RS)SRI 

TIMCVt 

f'i,(R2)» 

(RSU.RI 

\m' 

tUNBUF 
ICMLBLK.RI 
O.CMlD(Rl),R? 
G.CMlD*2(Ri).R1 

R?.)l 



.•♦♦021 

.•♦♦021 CONVERT TO DECIMAL AND STORE 

.•♦♦0?1 GET ADDR OF LAST PART OF MSG 

.♦♦021 TRANSFER INTO BUFFER 

••♦♦027 GET ADDR OF DYNAMIC MEMORY MSG 
.♦♦027 GET ADDRESS OF BUFFER 
.•♦♦027 TRANSFER MESSAGE TEXT INTO BUFFER 
.•♦♦027 GET SIZE OF AVAIL MEMORY 
.•♦♦027 CONVERT IT TO WORDS 

.•♦♦027 CONVERT TO DECIMAL AND STORE 
.♦♦027 GET ADDR OF SECOND PART OF MSG 
.•♦♦027 TRANSFER INTO BUFFER 

"" GET SIZE OF DYNAMIC MEMORY AGAIN 
GET SIZE OF RESIDENT PAGE 
PREPARE TO DIVIDE 
CALC NUMBER OF RESIDENT PAGES 
GET NUMBER OF PAGES AVAIL 
CONVERT TO DECIMAL AND STORE 
GET ADDR OF LAST PART OF MSG 
TRANSFER INTO BUFFER 
WRITE BUFFER INTO LISTING 
GET ADDR OF LINE BUFFER 
GET ADDR 01" TIME MESSAGE 
TRANSFER INTO BUFFER 
POINT WAY INTO BUFFER 
(lET FINISH TIME 
OQINT R) TO SECONDS 
POINT R4 PAST START TIME 
SUBTRACT SECONDS 
IF NOT NEGATIVE SIkIP 
ELSE. BORROW 60. SECONDS 

« 

SUBTRACT MINUTES 

IF NOT NCGAriVf SKIP 

ELSE. BORROW 60. MiNUTES 

SUBTRACT HOURS 

IF NOT NEGATIVE SKIP 

ELSE. BORROW 24. HOURS 

GET HOURS IN R1 

CONVERT AND PUT IN BUFfFR 

SEPARATE WITH A COLON 

GET MINUTES IN R1 

CONVERT AND PUT IN BUFFfR 
(♦♦021 SEPARATE WITH A COIGN 
;^^621 GET SECONDS IN R1 
i**Qi] CONVERT AND t>U\ IN BUFFFR 
.•♦♦021 TERMINATE MSG WITH A NULL 
.•♦♦0?1 WRITE BUFFfR INTO lIStlNC 
.GET ADDRESS OF COfflAND BIOCK 
iOEl NUMBER OF BYTES 
.GET ADDRESS OF UNT 



i'SUi? 



STRING TO t INBur 



•t«« N 4 •••• 



SETON WACRO Hi 108 U-OEC-77 10:02 PAGE 6-5 



172 000AA6 10S013 

(60 005726 
(62 OOUOA 
(6A 
li74 



4ti 



CLRB 


(R3) 




PUTLP 


»LINBUF 


J PUT OUT ON LP 


TST 


(SP)» 




BEQ 


4t 




PUTKB 


«L1NBUF 


;ANO ON KB IF 



;»»015 



m 



sot I 



Af NDF XCREF 

TSTB CRFFIL 

BEQ St 

MOV FDBTBL*LSTCHN,RO 

MOVB F.LUN(R0).R1 

ADD #F.FNB.RO 

SUi «1S.*2.SP 

NOV SP.R2 

NOV #CtLLST.R3 

MOVB (R3)*.R4 

BLT SSt 

ADD R0,R4 

MOV (Ri).(R2)* 

BR sot 



♦ ♦022 

*q22 WAS A CRF FILE CREATED? 
♦022 IF EQ NO 

;«»022 GET LST FILE FDB ADDR 
♦022 GET LUN IN Rl 

POINT TO FILE NAME BLOCK 

ALLOC SEND BLOCK ON STACK 

COPY ADDR INTO R2 

GET ADDR OF TRANSFER CTL LIST 

GET NEXT FNB OFFSET 

IF LT DONE 

ADD IN FDB ADDRESS 

COPV DATA INTO SEND BLOCK 

REPEAT 



GET LUN INFORMATION TO INSURE THAT THE CORRECT DEVICE NAME AND 
UNIT NUMBER ARE CONVEYED. THIS IS A SiDE EFFECT OF THE MCR LOGICAL 
DEVICE NAME ASSIGNMENT COMMAND. NOTE THAT THE RETURN ADDRESS IS 
CLOBBERED. BUT THAT THIS ROUTINE ALWAYS JUMPS TO THE ASSEMBLED RESTART 
ADDRESS. 



isi. 



S6ti 



18 



K 



;♦♦< 

!♦♦( 
;♦♦( 



' ♦♦! 



♦♦l 



:J:SI 

(R2)t 

«SPMSK,tSWTCH 

S6t 

-T(R2) 

FD|T|L»CRFCHN.RO .--w 

F.FNi*N.FVER(R0),(l2>« 

tL8TGT.(R2)» 

tLST6T»2,(R2) 

8P.R1 

RO 

FDBTBL»LSTCHN 

f'RCRF.RO 

tDSPAT 



GET LUN INFO 

POINT BEYOND UNIT NUMBER 
ASSUME NOT TO SPOOL OUTPUT 
LST SPOOLING REQUESTED? 
IF NE NO 

SET CRF SPOOl FLAG 
22 GET CRF FIlF FDB ADDR 

:»*022 COPY CRF f llF VfRSION 

.♦♦022 COPY LST FILE TARGtr DEVlCf 

.'♦♦022 AND UNIT Hjmn 

.'SET DATA BUFFER ADDRESS 

;^^022 CLOSE CRF Fill BEFORE SEND 

;CLOSE LtSTiNC FILE 

;SET THREE-CHARACTER TASK NAME 

;CALL TO DISPATCH CROSS-Rtf TASK 



.IF DF ENST 



SSOt 
ffXtERR.RQ 

nxisuc.RO 

RO.tEXSTS 



If CC CRF TASK OlSPATCHfD 
ELSE. SET ERROR STATUS 
$yCCCSSFUL STATUS RETURNED? 



Is ERROR WORSf THAN fXIStlNG SfATl'JiT 



; CDi 

I 
$ 

i 
i 



ttt* 1 4 •••• 



SETON MACRO mi08 U-OEC-77 10:02 PAGE 6-4 



560S: 



ni 



BLE 

MOV 


560$ 
RO.tEXSTS 


;IF LE NO 

; SET NEW ERROR STATUS 


.ENDC 






ADD 


#13.«2.$P 
10$ 


;»»022 CLEAN STACK 

;**022 SKIP LST FILE SPOOLING 

;»»022 



CD047 
CD047 
CD047 
CD0A7 
CD047 
CD047 



.ENDC 



.♦♦022 



M 000474 

244 000502 

245 000504 

248 
249 
250 

251 000516 

252 000522 
255 



001005 
016700 
001402 
004767 



004767 
000167 



12702 
12704 
14401 




OOOOOOG 0000006 

000004G 

OOOOOOG 



OOOOOOG 
OOOOOOG 



10$i 



.IF NDF 
BIT 

BNE 

MOV 

BEQ 

CALL 

.ENDC 



CALL 
JMP 



XSPOOL ;^^Q15 

IfSPMSK.tSWTCH .-♦♦015 SPOOL IISTING? 
10$ ;!F NE NO 

FDBTBL^LSTCHN.RO .'♦♦017 PUT LISTING FILE FD6 ADDR 
10$ ;^^01 7 BRANCH IF NO LISTING FILE 

.PRINT {♦♦018 CLOSE FILE AND SEND INFO TO SPOOLER 

.•♦♦015 



IN RO 



CLSALL 
CONT 



;^^017 CLOSE ALL OPEN FILES 
.•♦♦017 



RESTART THE ASSEMBLER 



; ••-SETTIM-SET TIME AND DATE PARAMETERS 

;■ 



OOOOOOG 
000006G 

000060 



000156' 



1i 
OOOOOOG 



.IF NPF 


XTIME 


SITTIM:!GTIM$S 


«LINBUF 


MOV 


»DATT1M.R2 


MOV 


fLlNUF^6.R4 


MOV 


-(R4).R1 


CALL 


5$ 


MOV 


•(R4).R1 


ASL 


R1 


ADD 


(R4>.R1 


ADD 
MOVB 


iMONtHS-l ,R1 
(RT)^.(R, )♦ 


MOVB 


(R1)^.(R2)^ 


MUVB 


(R1)^,(R2)^ 


tSTB 


(R2)» 


MOV 


-(R4).R1 


CALL 


3$ 


MOV 


fLlNBUF^6.R4 


MOV 


(R4)*,R1 


MOV 


R1,$H0UR 


CALL 


1$ 


MOV 


(R4).R1 


MOV 


(R4)«.|M1N 
(R4),iSEC 


TIMCVT 

(hih 


RETURN 





;GET TIME PAR^V^TERS 



I 



i 



.'♦♦021 SAVE START HOURS 



♦♦021 SAVF START MINUTES 
♦ ♦021 S^vl SIARt SFfOWS 
♦♦0?1 fONVtRt TIMf ANO STORf IN BUFFER 



"mmTj I tttt 



SETDN MACRO Ml 108 U-OEC-77 10:02 PAGE 6-5 



266 0006A6 

287 00065? 

288 00065A 

289 000660 
290 

291 
292 



020127 
002002 
112722 



000001 



000012 
000060 



TIMCVT! CMP 
BGE 



IDS: 



MOVB 

CALLR 

.ENDC 

.END 



R1./V10. ;«t021 IS NUMBER LESS THAN TEN? 

10$ ;t^021 BRANCH IF NOT 

#'0.(R2)» .•♦♦0?1 ELSE. PAD WITH LEADING ZERO 

DNC ;t*021 CVT TO DECIMAL. STORE. AND RETURN 



•••• K 4 «««t 



SETDN MACRO MHOS 
SYMBOL TABLE 



AM.DEC- 
AM.DEF- 
AM.1MM> 
AM. INC- 
AM.NDX- 
AM.PC ■ 
AM.REL- 
AStFLG- 
BINCHN- 
BLKTOV 



U-DEC-77 10:02 PAGE 6-6 




BLKTQ2- 
BLKT05- 
BLKT04- 
BLKT05> 
BLKT06- 



CH.AOD- 
CH.ANO- 
CH.BSL- 
CH.COL" 
CH.CGM- 
CH.DIV- 
CH.Oa- 
CH.DCT- 
CH.EQU* 
CH.HSH- 
CH.IND> 
CH.IOM- 
CH.LAB- 
CM. LP • 
CH.MUL* 
CM.PCT- 
CH.QM > 
CH.OTM* 
CH.RAB* 
CM.RP - 
CN.SMC* 
CN.SUB- 
CH.UAR* 
CM.XCl* 
CLSALL- 
CMLiLK> 
CMOCHN* 

. ABS. 



rxTBYT 
PUREI 

rmmRs ditictidi 



••• •• GN 
*•«*•• GX 

000000 




CONT 

CPL ■ 

CPXAOD> 

CPXANO- 

CPXCOM- 

CPXCON- 

CPXDIV- 

CPXFLG- 

CPXGLB- 

CPXIOR- 

CPXMUL- 

CPXNEG- 

CPXOPC- 

CPXWL- 

CPXSOS- 

CPXSTO- 

CPXSUB- 

CR - 

CSTACC- 

C5TAL0- 

CSTFLG- 

CSTGBL* 

CSTMEM- 

CSTREL- 

CSTTVP« 

DATTlMi 

OEFFLC- 

DFGFLG« 

DIG. 5 ■ 

DIG. 9 ■ 

DIV ■ 

DNC • 

DVNMSG 

ERRCNT* 

FDBIBL* 

FF 

FIfMSG 

FINMST 

F|NMSi[ 

FINMS) 

Gt.WIF' 

Of. CIO' 

Gf.COM" 



■ **«••* GX 



000120 
000001 
000005 
000011 
000020 



la *••*** GX 



•••*•• GX 

000*ir7R 

*•*>•* GX 

00COI4 

nf"H;,)QR 

OOU025R 



002 



GC.C0N> 

GE.EOF- 

GE.IMD- 

GE.10ft> 

GE.LC « 

GE.MOE' 

GE.OPR- 

GE.RBG> 

GE.SIZ- 

GIBFLG- 

CSOTf 

GSDTI 

GSDTI 

GSDTI 

GSDTI 

GSDTI 

GSDTI 

G.CMLD- 

G.DPRM- 

G.ERR > 

G.ISIZ- 

G.MODE- 

G.PSDS- 

G.SIZE- 

G.TICP- 

G.TICT* 

G.TIDA- 

G.TIHR- 

G.TIMI* 

G.TlMOo 

G.TISC- 

G.TIYR- 

ILVL • 

LBLFLG> 

If?. A . 

' T.H . 

l.T.C • 

KT.D * 

lir.E . 

IIT.F . 

lET.C • 

LtT.O • 

IIT.; . 



VIRTUAI MEMORY USFp! AH? WORDS ( 19 PAQIS) 
DYNAMIC MtMDRY. U^U WORDS ( 60 PACfS) 
ElAPSfp MMt. 00.01.00 






0101 
000104 

000106 
00010? 

ooon^ 

0001)2 



3J5HDN/-SP.JS0,10JRSXPAR.MPARAM,MCIOCM,aif#H,FL6DF,SHDN 



LF 

LINBUF 

LINLFN 

LPP 

LSTCHN 

LSTLEN 

LST.KB 

LST.LP 

MAXCHN 

MOFFLG 

MONTHS 

MOVBYT 

NUtSEC 

OBJLEN 

PSTFLG 

PUTKB 

PUTLP 

ptGsi; 

REGFLG 
RELCHN 
RELFLC 
RLDLEN 
RLOTOO 
RLDT01 
RLDTW 
RLDT03 
RL0T04 
RLDT05 
RLDT06 
RLD107 
HLDIIO 
RLDT11 

RLons 

RID116 

RLDT17 

RSX11M 

RItllM 

SETDN 

StTTIM 

SMI CHN* 

SMILFM" 

SPACE • 

SPMSK • 



000012 

•••••♦ cx 

000204 



00007A 
000004 
&4 

)002 

114 

104 

000141R 

**••*• GX 

000004 
000052 
000050 



GX 
GX 
GX 



000001 
000010 
000040 
000052 
000000 
000001 
000002 
000003 



00000? 

»? 

000015 
000016 
00001? 

000000 
OOOOOORG 

000 12C 



GX 



00004 



002 



005 
001 



SRCCNN> 

SRCLEN- 

STLLEN" 

SUBMAC' 

S.FDB « 

S.FNAM> 

S.FNB > 

S.FNBW- 

S.FNTY- 

S.FTYP- 

S.NFEN- 

TAB > 

TIM'VT 

TIMMSG 

TMPCNT 

TTLLEN 

VT 

XBSRCHi 

XCREF 

XEDABS 

XEDCDR 

XEDCRF 

XEDFPT 

XEDLC 

XEDPIC 

XEDPNC 

XFLT6 

XOPEXP 

XRGERR 

XSUBO 

XZERR 

X4S 

YQCMO 

IFRSI7 

tHGVAD 

tHOUR 

IMIN 

tSFC 

tSWKH 

sitosr 

.PRINT 
...fPC 



000002 
000204 
000100 

rOI 
40 
000006 
000036 
00001? 

000002 

0OQ020 

000011 

000646R 

000121R 

000014 
000040 
000013 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 

oooooo 

000000 

oooooo 
oooooo 
oooooo 
oooooo 
oooooo 

****** GX 
****** GX 
****** GX 
****** GX 

GX 

****** GX 
000020 
****** GX 
000140 



003 
002 



••»• t 4 •••• 




•••• N 4 tttt 



SETIW MACRO mi08 U-DEC-77 10:03 PAGE « 



.TITLE SETINM 
.lOENT /04/ 



H 
11 
12 
15 
U 
15 
16 
17 
18 
19 
20 
21 
22 
23 
2<. 
25 
26 
27 
28 
9 

1 



000000 




ooc;oo 



COPYRIGHT (C) 1972,1976 

DIGITAL EQUIPMENT CORPORATION. MAVNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON FXfEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 0« 

B. BOWERING MAIN AUTHOR 



MODIFIED BY: 



D.N. 
C.A. 
C.A. 
C.A. 
H.A. 
C.A. 
C.A. 



CUTLER 20-JAN-7! 
D^ELIA 22-SEP-73 
12-NOV-73 



i 
I 
I 

I 
i 
t 
I 

; •♦--SfTIMM—CONVIRT IMMEDIATE EXPRESSION TO CODE ROl I ENTRY 
t M.-SETDSP-CONVERT DISPLACED EXPRESSION TO CODE ROLL ENTRY 



O'ELIA 
D'ELIA 
NICHOLS 

d'elia 

D'lLlA 



-MAR- 74, 
■JUN-7<i 
OCT-75 
■OCT -76 



001 
006 
OU 
017 



(VIRT MEMORY) 
(IMPR PERFORMANCE) 



PUW PUREI.I .♦♦017 



SETlMMti 



SAVREG 
SfTXPR 

.tr NDF 

MOV 

TST 

BNt 

fB 



XRFl 
flMMMOP.RI 

SFTDST 
fCPNFLG.iRS) 



)»T IMMEDIATE MODE 

tSAVE REGISTERS 

i ANf> SET 'TXPRESSION" TYPE 



;8ET TABU 

Special roR 




INOtX 
END? 



rOMPLM REIOCATION FNPRfSSION? 

NO PROrifD NORMAll, r 

VALUE or MEANS IMMEDIATE MODI 



*•*• N 4 t««« 



SETUP NACRO Mil 08 U-OEC-77 10^03 PAGE «-1 





0(KK27 
152713 000100 

:)iiio 

122121 

152713 000040 



121267 OOOOOOG 
"^1031 

000502 



)U05 
" . 000001 
t 000013' 

I 

I 000100 



OOOOOOG 



111 



000004 



OOOOOOG 



OOOOOOG 
OOOOOOG 




SETOSP:: 



CETCPXi 
SETDSOi 



BITB 

BNE 

CMPB 

BITS 

BEQ 

TSTB 

CMPB 

BNC 

.inr 

BP 

SAVREG 
SETXPP 

IFT 
MOV 
BITB 
BEQ 
MOV 
MOV 
BP 

BITB 

CMPI 



J!? 

TSTB 
TSTB 

SETDbli TSTB 
CIP 
BISB 

CMP 



lit 



067 OOOOOOG 



II TOM i CLN 

.Int 



GETCPX 

*GLBFLG,(R3) 

SETDS4 

(R1)»,(R1)» 

«PEI.FLG.(R3) 

SETPSX 

(R1)» 

<R2).CLCSEC 

SETDS1 

SETDSX 



fDSPMOD.RI 

«CPXFLG.(RS> 

SETDSO 

4f1,(R4) 

«CPXRLD,P1 

SETDSX 

#CLBrL6.(RS) 
SITDSS 

(Pl)»j(R1)» 

<pi)« 

SB1PSX 

(P1)« 
RO 

(P2).R0 
l.*NulS 




(RO>».($P)» 

($P)».p| 

(SP)*.R2 

(RO)».$y!ioi 
(R9)»,$f»ioi»i 




'•♦♦ffll ^^^ CO'*''-EX RID « t CONTINUE 

JEXTFRNAL? 

;ir NE VES-USE COf^MOW CODE 

;MOVE INDEX 

.'RELOCATABLE? 

; NO, ALL SET 

;VBS, CURRENT SECTOR? 
: NO 

(YES 

I ♦♦006 SET DISPLACED MODE 

;SAVE REGISTERS 

; AND SET 'tXPRESSION" TYPE 

.'SET INDEX 

!t»001 COMPLEX RELOCATION EXPRESSION? 
)1 NO. PROCEED NORMALLV 
)1 VALUE or 1 MEANS DISPLACED MODE 
)1 POINT R1 TO cow .EX RLD « 
^1 PROCESS THRU COMMON CODE 

jEXTERNAL? 

; YES. TEST FOR ADDJTIVI 

.'CURRENT SECTOR? 
; VIS 

ILOOKING AT ABSOLUTE? 

; «s 

KL AR NIGN ORDER 
SECTOR 

M COMP W/ PSECT NAME TAOlE COUNT 
1 ir Gt NOT IN TABLF 
1 ELSE. CONVERT NUMBER TO A 
1 DOUBLE-WORD OIF SET 
9 ADO MANT OF Jtmit ADDR 
1 BRANCH INTO COMMON CODE 
1 SAVE R? AND Rl 
1 

1 STORE THE PSFCT NUMBER 
1 GET ADDR OF LIST HEAD 
1 Off ViRf lOfN OF NEXf (NTRV 
1 Gtl irs RtAl ADDRESS 
1 V'C^NnT SfdION NUMBER 
1 IF OE IT'S NOT ONE WE WANT 

SKIP PAST I INK AND CLEAN STACK 
I RISTORE R1 AND R2 



I SECTOR NAME TO SVMBOt 



MM I f •••• 



SETIWI «.^CRO N1108 U-OEC-77 10:03 PAGE «-2 



•*•• B 7 **•• 



115 
116 
117 

119 
120 



|A2 

152 
•56 



121 000260 

122 000262 
123 

12<i 

125 000262 

126 00026A 

127 000266 

128 000270 

IS 



00000^ 

000011 
^3 



165 

It) 




116700 OOOOOOG 

005200 

006300 

066700 OOOOOOG 

1600U 

000403 



0Q57U 
0OUO1 
105721 



111112 



5767 OOOOOOfi 







000200 





MOVB 


INSIZE.RO 


♦ tOU GET INSTR WORD COUNT IN RO 




INC 


liS 






ASt 


MAKE IT 4 OR 6 




» 


CLCLOC.PO 
P0.(R4) 






.IFT 








BR 


SETDSX 




SETDS3: 


.IF OF 


VPHASE 






SUB 


PHA0FF,(R4) 


SUBTRACT OUT PHASE OFFSET 




.ENDC 






SETDS4! 


TST 


(R4) 


ANY OFFSET CONSTANT? 




BEQ 


SETDSX 


IF EQ NO 




TSTB 


(PD* 


YES, ADVANCE INDEX 


SETDSX: 


.IFT 








.IF NOF 


NEDPIC 






BIT 


/TED.PIC.EDMASK 






BNC 






TSTB 


(PI) 






!m!b 


12$ 






(R2>.CLCSEC 






BEQ 


101 






CHP 


Pl.fDSPMOD 

iii 






BHIS 






BM 


1?» 

Pl.#DSPMOD 




101 1 


CMP 






BHIS 


i2i 




!»: 


ERPOf) 
.ENDC 


R 






MOVB 


(P1>.(R2) 


FILL IN TYPE 




. FTF 








T T 


BVTMOD 


IN BYTE MODET 




BEO 


41 


NO 




TSTB 


(P4)« 


MOVE TO HIGH BYTE OF 'VALUE" 




MOVB 


(P4).P0 


ANY HIGH ORDER BITES? 




BIO 


«t001 NO. O.K. TO BRANCH 




INC 


fil 


YES. AH ONES? 




BEQ 


SI 


♦ ♦001 YES. CONTIN'JE 




ACSEPP 




*t001 NO. FLAG ERROR 


Sli 


(RO 

#200. <P2) J 


FLAG AS BYTE 


41 1 


PETUPN 
.IFT 






000 tWWODi 


V, 


TXTBYT.D i**Q\T 

RLDT02, RLDT09. RLDTOO. RlDTOI. PIDTH, 


000 PSPPOOi 


.BYTE 


RLI/T04.PIDT06.PIOTOO.RIDTOVPIDT16 ; *001 


fPK«LOi 


.BVTE 
.ENDC 


RLDT17 


♦ ♦001 



000001 



••t* C 7 •••• 



•**• c 7 •»♦• 




SETIMM MACRC MHOS 
SYMBOL TABLE 



ABSERR* 
AM.DEC' 
AM.DEF- 
AM.I 
AM.INC- 
AM.NDX- 
AB.PC ■ 
AM.REL- 
ASTFLG- 
BASSEC> 
BLKTQ1- 
BLKT02> 
BLKT03> 
BLKTM- 
BLKT05> 
BLKT06- 
BVTPVO- 
CH.AOO- 
CH.AND- 
CH.BSL- 
CM. COL" 
CH.CQM* 
CH.DIV- 
CH,DOL- 
CH.OOT- 
CH.EQU- 
CH.HSH- 
CH.iNO- 
CH lOR- 
CH. LAB- 
CM. LP • 

. ABS. 



U-OEC-77 10:05 PAGE A-3 



II U 

000001 
000002 
000005 
000004 

15 




000045 
000100 
000041 
000074 
000090 



CM.MUL 

CH.PCT 

CM.QM 

CM.QTM> 

CH.RAB 

CM.RP 

CM. SMC 

CM. SUB' 

CM.UAR 

CM.XCL 

CLCLOC 

CLCSEC 

CPXADD 

CPXANO 

CPXCOM' 

CPXCON' 

CPXOIV 

CPXFLG 

CPXGLB 

CPXION 

CPxnuL 

CPXNCG 

CPXOPC 

CPXREL 

CPXRLD 

CPXSDS 

CPXSTO 

CPXSUB 

CR 

CSTACC 



mi 

000076 

"11 

000055 

000156 

000047 

*••*•• GX 

*«***« GX 

000001 

000005 

000011 

000020 

000200 
000016 
000006 




I15R 
15 
000012 
300002 
00001$ 
000020 



003 



CSTALO 

CSTFLG 

CSTGBL 

CSTMkM' 

CSTREL 

CSTTVP 

DEFFLG 

DFGFLG 

DIG.O 

DIG. 9 

DSPMOO 

ENOFLG 

FF 

(lETCPX 

GLBFLG 

GSDTOO 

GSDT01 

6SDT02 

2SDT05 

GSDT04 

GSDT05 

GSPT06 

ILVL 

IMMMOD 

INSI/E 

LBLFIG 

LET. A 

LET.B 

LIT.C 

LET.D 




PURF I 000326 
TXTBVT 000014 
ERRORS DETECTED: 

VIRTUAL MEMORY USED 
DYNAMIC MEMORY! 15 



000 
001 



I 2669 WORDS ( 11 PAGES) 
744 WORDS ( 60 PAGFS) 



ELAPSED MME! OOiOO:25' 
SET|MM.r30.50]StTIMM/-SP»[50.10JRSXPAR.GEf#IC.fLGDF,5ETU 



H U 




600060 
000071 
000006R 
****** GX 

000014 
0001 12R 
0001QC 



000400 
001000 
001400 
002000 
002400 
005000 




GX 



LET.E 

LET.F 

LET.G 

LET.O 

LET.Z 

LF 

LST.KB 

LST.LP 

MOFFLG 

MOPE 

005 NUtSEC 
PSTFLG 
REGFLG 

002 RELFLG 
RLDTOO 
RLDT01 
RLDr02 
RLDT03 
RLDTP4 
RLCT05 
RLDT06 
RLUT07 
RLDT10 

005 RLDT11 
RLDT15 
RLDT16 
RLDT17 
RSX11M 
RttllM 
SAVREG 



000105 
000106 

mwr 

000132 
000012 
000001 
00000? 
000004 
****** GK 

000004 
000050 
000001 

m 

000004 
000005 
000006 
000007 
000010 
000011 
000015 
000016 
000017 

ooogoo 

000000 
****** GX 



SFTDSP 

SETDSX 

SETDSO 

SETDS1 

SFTDS2 

SETDS3 

SETDS4 

SETIMM 

SETXPR- 

SPACE ' 

SUBMAC' 

SYMBOL' 

TAB > 

VT 

!!9Sr.CM« 

XCREF > 

XEDABS" 

XEDCDR- 

XEDFPT- 

XEDLC ■ 

XEDPIC> 

XEDPNC- 

XFLTG » 

XOPEXP- 

XRGGRM* 

XSUBD « 

XZERR ' 

X45 « 

tCVRL ' 

SNAMSC* 



000064RG 
000270R 
0001 20R 
0001 44R 
000236R 
000262R 
000262R 
OOOOOORG 
****** GX 

000040 
000001 
****** GX 

000011 

000015 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

**•*«• GX 

****** GX 



002 
002 
002 
002 
002 
002 
002 
002 



••«• ft f ••«• 



**t* D 7 **•« 




••*t I f *«•« 



SETMX MACRO MHOS U-OEC-77 10:0A PAGE « 



ww«« c f «••• 



.TITLE S|T«X 
.lOENT /03/ 



COPYRIGHT (C) 1972,1976 

DIGITAL EQUIPMENT CORPORATION. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. T'.TLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION OS 
B. BOWERING 

MODIFIED BY; 



D.N. CUTLER 10-FE8-73 
H.A. NICHOLS 18-JUN-''<i 
D'ELIA PQ-OCT-75 
D'ELIA lS-OtT-76 



C.A. 
C.A. 



017 
021 
029 



(VIRT MEMORY) 
(IMPR PERFORMANCE) 



; •••SETMAX-SET MAXIMUM LOCATION COUNTER 



000000 




PURE 
.IF NOF 
SPTMAXtiSAVREG 
HOV 
MOV 
MOV 
MOV 
CALL 
CALL 
JMP 



;♦ 



PUREI.I 

XREL 

tCLCNAM.Rl 
iSYMB0L.R2 
(R1)«. (R2)* 
(R1)»,<rJ)» 

INSERT 



;»»017 

.-SAVE REGISTERS 



;»»Q21 COPY PSECT NAME INTO ... 
i**ql} SYMBOL ARIA 
;»»0?1 FFTCH CURRENT PSUT tNTRY 
;Stt RFMAINOFR OF rNTRIfS 
;UPDATt ROLL AND tXIT 



; ••••FNDSC-FINP MATCHING PSEC? ENTRY 

) INPUTS* 

J PSECT NAME IN SYMBOL AREA 

t 



•••• 



7^ 



•••• 



WWWW f f wwww 



SETMX MACRO Ml 108 U-OEC-77 10:0A PAGE «-1 



66 

67 OOOOM 

18882? 

000044 
71 




M 000106 

8811! 



012704 
010403 
014446 
014446 
005067 

001410 
021614 
001571 
026664 
001365 
022626 
000417 
012624 
012614 
016704 
020427 
i2C 




J704 



000001 



OUTPUTS: 

Z-BIT SET IF NOT FOUND (ALSO PSECT NAME ADDED TO IN-CORE 

PSECT NAME TABLE) 
;-eiT CLEAR IF MATCH FOUND 
R3 POINTS TO SECTOR FLACS BYTE 
R4 LOST 



000004G 



OOOOOOG 



»FNOSC: 



loot: 



000002 000002 



OOOOOOC 
000004 



200t: 



:MOV 
MOV 
MOV 
MOV 
CLR 
NEXT 
BEQ 
CMP 
BNE 
CMP 
BNE 
CMP 
BR 
MOV 
MOV 
MOV 
CMP 



OOOOOOG 

177774 

177776 



300t> 



ASL 

ASL 
ADD 

MOV 
MOV 
TST 
RETURN 



.ENDC 
.END 



«SVMB0Lt4.R4 

R4.R3 

-(R4).-(SP) 

-(R4),-(SP) 

tLSPNT 

m" 

<SP).(R4) 

loot 

2(SP).2<R4) 

loot 

(SP)».(SP)» 

300t 

(SP)*.(R4)* 

(SP)«.(R4) 

tLSCNTtSECLST.R4 

R4.«NUtSEC 

306t 

R4 

R4 

«tNAMSC,RA 

-4(R3),(R4)i 

-2(RJ).(R4)» 



t021 POINT R4 INTO SVMBOL AREA 
»021 LEAVE R3 POINTING AT SECTOR 
*021 SAVE PSECT NAME ON THE STACK 



:8ll 



INIT POINTER TO START OF LIST 



tO^I GET A PSECT ENTRY 



IF EO END OF LIST 

COMPARE W/ 1ST HALF OF NAME 

IF NE NO MATCH 



♦021 

:8I1 

♦021 COMPARE W/ 2ND HALF OF NAME 

♦021 IF NE NO MATCH 

♦021 ELSE, CLEAN STACK 

♦021 AND BRANCH TO RETURN 

♦021 RESTORE PSECT NAME 
♦021 

.'♦♦021 GET NEXT AVAIL PSECT NUMBER 

♦021 COMP W/ NAME TABLE COUNT 

♦021 IF GE TABLE IS FULL 

♦0|l ELSE, CONVERT NUMBER TO A 

' 1 dOUBLE-WORD OFFSET 

9 ADD IN START OF TABLE ADDN 

1 COPY NAME INTO THE TABLE 



1 

1 RETURN RO STATUS 
M 



•••• 



TT 



•••• 



000027 

I2C 



000007 
000067 
0001 U 
000001 
000002 



SETMX MACRO mi 08 
SYMBOL TABLE 



AM.DEC- 
AM.OEF> 

AM. INC- 
AM.NOX- 
AM.PC > 
AH.REL' 
ASTFLG> 
BLKTOI* 
BLKT02- 
BLKTOS> 
BLKTCk- 
BLKT05- 
BLKT06- 
CH.AOD- 
CH.AND> 
CH.BSL- 
CH.CQL- 
CH.CG»«- 
CH.DIV- 
CH.OOL- 
CH.OOT- 
CH.EQU- 
CH.HSNa 
CH.IND- 
CH.IOfl- 
CH.LM- 
CM.LP ■ 




000100 
0000A1 

0000)0 



U-OEC-77 10:0A PAGE A-2 



CH.MUL* 
CH.PCT" 
CH.QM < 
CH.QTM- 
CH.RAB> 
CH.RP > 
CH.SMC- 
CH.SUB- 
CH.UAR* 
CM.XCl» 
CLCNAM- 
CPXADD> 
CPXANO- 
CPXCQM- 
CPXCON- 
CPXDIV* 
CPXFL6- 
CPXGLB- 
CPXIOM- 
CPXMUL- 
CPXNEG- 
CPXOPC- 
CPXRCL- 
CPXSDS- 
CPXSTO- 

cpxsui- 

CP 
CSTACC" 




000200 
000016 




CSTALO 

CSTFL& 

CSTGBL 

CSTMEM' 

CSTREL 

CSTTYP 

DEFFLG 

DFGFL6 

D1G.5 

D1G.9 

FF 

GLFIFLC 

GSPTOO 

GSDTOI 

GSDT02 

GSDTOS 

GSDT04 

GS0T05 

GSDT06 

ILVL 

INSiRr 

LBLFLG 

LET. A 

LET.B 

LET.C 

LET.D 

LET.E 

LIT.F 



AiS. 



000000 
000000 

PURE I 000U6 
ERRORS DETECTED) 



000 
001 
002 



VIRTUAL MEPVRV USEDi 29)1 WORDS ( 10 PAGES) 
DYNAMIC MEMORY! 1$74A yORDS ( 60 PAGES) 
ELAPSED TIME: 00100:21 

SETMX.tM.50]SETMX/-SP-t50.10]RSXPAR.GrNMC.FlGDF.JfTMX 
Air 



w. 


LET.G 
LET.O 


: miVr 


SAVREG' 
SECLSTi 


. •♦.♦♦♦ GX 

c ****** (JX 


1^0? 


LET. 7 
LF 


■mn 


SETMAX 
SPACE > 


.ar 


000040 


LST.ICB< 


• 000001 


SUBMAC' 


> 000001 


000200 


LST.LP' 


' 000002 


SYMBOL' 


1 ****** 6X 


000010 


MOFFLG< 


. 000004 


TAB < 


■m\\ 


000020 


NEXT > 


1 *•••*• 6X 


VT 


00087? 


NUtSEC' 
PSTFL6< 


' 000850 


XBSRCHi 
XCREF > 


' 000000 
' 000000 


oooo 4 

000100 


REGFLG' 
RELFLG< 


I 80S0 


XEDABS> 
XEDCDRi 


' 000000 
> 000000 


« 


RLOTOO- 
RLDT01" 


:»? 


XEDFPT' 
XEDLC • 


. 000000 

. 000000 


oouoo 


RLDT02' 
RIDT03> 


:» 


XEDP1C> 


. 000000 


XEDPNC' 


> 000000 


& 


RLDT04" 


. 000004 


XFLTG ' 


> 000000 


RLDTOSi 


, 000005 


XMIT3 • 


1 **•••• 6X 


RLDT06< 


. 000006 


XOPEXP> 


> 000000 


RLDT07. 


> 000007 


XRGERR' 


. 000000 


••••*• 6X 


RLDT10> 
RLDT11. 


> 000811 


XSUBD > 
X7ERR ' 


. 000000 
> 000000 


000104 


RLDTIS- 
RLDT16' 


; 080OI6 


X45 • 
IFNDSC 


- 000000 
0O0OS4RG 


RLDTI7. 


- 000017 


ILSCNT> 


****** ox 


RSX11M< 


000000 


ILSPNT' 


**•«*• GX 


000105 


RtlllM' 


000000 


INAMSC' 


****** GX 


000106 











002 



002 



•••• 



ITT 



•••• 




tt*t I 



SPACE mCRO mi 08 U-OEC-77 10:(K PAGE * 



17 000000 



010U6 



.TITLE SPACE 
•IPENT /05/ 



COPYRIGHT (C) 197?, 1976 

DIGITAL EQUIPMENT COKPOftATION. MAVNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND NAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON TJCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP CF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION OS 



C.A. D'ELIA 

C.A. D'ELIA 

C.A. D'ELIA 

H.A. NICHOLS 

C.A. D'ELIA 

C.A. D'ELIA 



10-JAN-74 
05-MAR-7<i 
07-APR-74 
18-JUN-74 
22-SEP-7A 
26-OCT-75 



(VIRT MEMORY) 



PURE PUREI.I 
.IF NDF (MACRO 



.•♦t017 
1**02} 



.•♦♦010 



t M-WMUAC —REMOVE MACRO TEXT (PLACE BLOCKS IN MACRO FREE LIST) 
; INPUTS! 



; 



RO-ADDRESS OF FIRST TEXT BLOCK TO BE REMOVED. 
RI'VIRTUAI lOCN OF THE FIRM BLOCK 



; OUTPUTSi 

; 



THE MACRO STORAGE BLOCKS ARE RHURNED TO THE MACRO fREt 
LIST. RO AND R1 ARE L0S1. 



;--010 
REMMAC 1 1 



MOV R1.-(8P) ; 



::8}? 



SAVE VIRT LOCN OF IST BLOCK 



SPACE MACRO MHOS U-DEC-77 10:0A PAGE A-1 



58 000002 

59 000006 

60 000010 

61 000012 

62 OOOOU 

63 000016 
tA 000022 

65 00002A 

66 000026 

67 000050 
66 000032 

69 000036 

70 OOOMO 

71 000044 

;i 

74 
75 



016746 
001413 
010246 
000403 
011001 
004767 
005710 
001373 
012602 
011610 

m 

012667 
000207 



000001 



OOOOOOG 



OOOOOOG 



OOOOOOG 
OOOOOOG 



PAGE 4-1 










MOV 


MACNXT.-<SP) 


♦♦021 SAVE VIRT LOCN OF 1ST FREE BLK 




BEQ 


3001 


♦♦021 IF EQ FREE LIST IS EMPTY 




MOV 


5^6;"" 


♦♦0?1 SAVE R2 




Bft 


♦♦021 BRANCH INTO LOOP CODE 


loot: 


MOV 


(RO).RI 


♦♦021 GET VIRT LOCN OF NEXT BLOCK 




CALL 


ICVRL 


♦♦02 GET ITS REAL ADDR IN RO 


200t: 


Tsr 


(RO) 


^♦021 EXAMINE LINK TO NEXT BLOCK 




BNE 


1001 


♦♦021 IN NE NOT AT END OF LIST 




MOV 


(SP)».R2 


■♦♦021 L!SE. RESTORE R2 




MOV 


(SP).(RO) 


•♦♦021 LINK IT TO FREE LIST 




CALL 


SyRMPG 


♦♦021 MARK PAGE DIRTY 


3001: 


TST 


(SP)* 


♦♦021 CLEAN STACK 




MOV 


(SP)SNACNXT 


♦♦021 LINK BLOCKS TO FRONT OF FREE LIST 




RETURN 




•♦♦021 




.ENOC 




•♦♦010 




.END 







ttt* 



7T 



•••• 



SPACE MACRO MHOS 
SYMBOL TABLE 



U-OEC-77 10:04 PAGE 4-2 



BPMB « 
CPL « 
ILVL ■ 
L1NLEN> 
LPP « 
LSTLEN- 
MACNXT- 
HUtSEC- 



000020 
000120 
000001 
000204 
000074 
000204 
*«***• 

000004 



GX 



OBJLEN* 

REMMAC 

RLDLEN- 

RSX11M> 

Rni1M> 

SMILEN- 

SRCLEN- 



000052 

OOOOOORG 

000052 

000000 

000000 

!JS2 



STLLEN- 000100 



002 SURMAC' 
TTLtcN« 
XBSRCH^ 
XCREF • 
XE DABS' 
XEDCDR* 



000001 
000040 




XEDCRF- 000000 

XEDFPT* 000000 

XEDir « 000000 

XEDPIC* 000000 

XEDPNC* OOOQOO 
XFLTG « 
XOPEXP- 




XK?ERR> 
XSIA'<D * 
XZERR ' 
X45 > 
rOCKO « 
SCVRL « 
tWRMPG> 



000000 
000000 
000000 
000000 
000000 

•♦•*** GX 



. ABS. 000000 
000000 
PURE I ^f^0046 
ERRORS UtIbCTED: 



000 
1 



VIRTUAL MEMORY USED: 2187 WORDS ( 9 PAGES) 
UVNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:21 

SPACE. 1:50,50]SPACE/-SP"C30.10]RSXPAR.MPARAM.GENMC. SPACE 
yA2 



•••t I Tmm 




tttt M f •«•• 



STMNT MACRO M1108 U-OEC-77 10:05 PAGES 



.TITLE STMNT 
.IDENT /05/ 



1 

11 

12 

13 

U 

15 

16 

17 

18 

19 

?0 

21 

22 

25 

24 

il 

27 
28 
29 
30 

32 
53 
34 
!5 




000072 

OOOOOOG 

000075 

oooooon 



COPYRIGHT (C) 1972,1976 

DIGITAL EQUIPMENT CORPORATION. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOr. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM ^NO TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEI ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 05 

B. BOWERING MAIN AUTHOR 



MODIFIED BY! 



D.N. 
C.A. 
C.A. 
C.A. 

H.A. 
C.A. 



CUTLER 20-JAN-73 
D'ELIA 12-NOV' 

15-^ 



D'ELJA 
D'ELIA 
NICHOLS 
D'ELIA 



15-NOV 
16-NOV _ 
18-JUN-7* 
U-OCT-76 



006 
008 
009 

029 



(IMPR PERFORMANCE) 



••--STMNT--STATEMCNT PROCESSOR 



STMNTii 



PUM PURFI , I 



fSYM 



CNOWRD.RQ 
CNDMtX.RO 
40t 



P 



.ffH.COL 
LABEL 
R5.#rM.rou 
aSgmt 



.'♦♦017 

;REF LABEL 

;IN CUNDiriUNAL? 

i OR MTMT? 

; VFS, BRANCH If SUPPRESSED 



,•♦♦006 NO. TRY FOR EQUAL SIGN 
{♦♦006 YES. PROCtSr LABEL 

j 'V 
; NO 
;VIS. PROCESS IT 



•••• M f •••• 



STHNT NACRO MnO« V.-0EC-77 10:05 PACE 5-1 



58 

59 OOCHKA 

60 OO^'OM 

61 mm 

W (^00052 
6^ 000056 



00A767 0U0U6 
0OU23 

000167 OOOOOOG 



01270? 000012 



U21 

05?7 0000** 



020527 000072 
000167 OOOOOOG 




Iti 



IQIi 
20Si 



2Sli 



SMi 



401 1 



OOOOOOG OOOOOOG 

)OSt 
52767 OOOOOOG 0000006 

^1 ta; 



CALL fPSTCK 

BEO 25S 

CRFREF 

J«P PROPC 

.IF NDF XEDLSB 
MOV #10.. R2 



CVTNUn 
BEQ 
CW» 
BNE 

C«P 
BNE 

LSRCH 

JMP 

.ENDC 



301 
R5.*CH.D0L 

soi 

R5.*CM.C0L 
30i 

LABELF 



.IF NTF NF^CRO 
SOI 



MSRCH 

CRFRIF 

JMP BtLOMAC 



.ENDC 




CALL 

OSRCH 

BNE 

RETURN 



crrBL(R5) 

421 

«WRDSVM.R1 
»SVMB0L,R2 

fOFlCNO.MOOE 
nC.tND.lCFlAG 



OOOOOOG 



IPSTCKiiCALl 



I 




••♦♦029 SEARCH PST AND CHECK BITMAP 
.•♦♦0?9 IF EQ NOT FROM PST 

.PROCESS OP CODE 



;NOT SYMBOL. PERHAPS LOCAL SYMBOL? 



I NO 

i NO 



TERMINATED BY 't'*7 



.•SEARCH FOR LOCAL SYMBOL 

;tt006 EXIT THRU LABEL PROCESSOR 



.•♦♦029 



^♦C29 



!♦♦( 
!♦♦( 



!♦♦( 



?9 SEARCH FOR MATCH IN MACRO TABLE 
29 IF EQ DEFAULT TO .WORD 
j9 CRF THE MACRO HEFEKENCE 



.•♦♦029 PROCESS MACRO CALL 
.♦♦029 



;RESET CHAR POINTER AND FLAHS 

;NULL IF END OF LINE 

.•NEITHER, FUDGE ^WORD" DIRECT IVE 

;MOVE PST ENTRY TO "SYMBOL" 



UNSAT CNDTl. TEST FOR DIRECTlVf 
NOT POSSIBLE. BRANCH TO I (AVE 
POSSIBLE ONE FOUND, LOOK IN PST 

. .^ IS IT A CONDiriONALT 

; YE J, PROCESS IT 

{MARK AS UNSAT CONDITIONAL 
1 IGNORE LINE 





SEARCH P$T 
F EG NOT IN PSf 



IN R1 



lET SYMMl NUMBtM . 

iIas nummr To start at o 

OPY INTO Rl 



«••• I I •••• 



••** B 8 **** 



STUNT MACRO Ml 108 U-OEC-77 10:05 PAGE 5-2 



115 
116 
117 
118 
119 
120 
121 
122 

124 
125 
126 
127 
000003 
000006 

id 

131 



o88$S 


m 


177770 




BIC 
CLR 


rc<7>.R2 

RO 


0002A0 


000000' 




BISB 


BVTMSK(R2).R0 


0002A4 


006201 






ASR 


R1 


000246 


006201 






ASR 


R1 


ffi 


006201 






ASR 


R1 


U6100 


OOOOOOG 




BICB 


tPSMAP(R1),R0 


000256 


000207 




200$: 


RETURN 




000260 








PURE 


DPURE.D 


000000 


001 


002 


004 BYTMSKi 


.BYTE 


1.2.4,10.20,4 


010 


020 


OAO 








100 


200 











♦♦029 CLEAR ALL BUT BlT-IN-BrTE NUMBER 
♦♦029 GET CORRESPONDING BIT POSN IN RO 

♦ ♦029 

♦♦029 GET BYTE NUMBER 

♦ ♦029 

♦ ♦029 

♦♦029 R0«0 IK PST AND MACRO NAME MATCH 
♦♦029 



.•♦♦029 



000001 



.IND 



•ttt c I ••*• 



•*•* c 8 ***• 



STMNT MACRO MHOS 
SYMBOL TABLE 



U-OEC-77 10:05 PAGE 5-3 



AM.DEC« 
AM.DEF* 

AM.INC> 

AM.NOK* 

AM.PC - 

AM.REL> 

ASGMT > 

ASTFLG> 

BLKT01> 

BLKT02- 

BLKT05- 

BLKT 

BLKT05> 

BLKT 




000007 
000067 

II U 



BVTMSK 
CH.ADD- 
CH.ANO" 
CH.BSL- 
CH.CQL- 
CH.COM- 
CH.DIV- 
CH.DOL- 
CH.DGT> 
CH.EQU> 
CH.HSH> 
CH.INO- 
CH.IOR- 
CM. LAB- 
CM. LP " 
CM.MUL- 
CM.PCT- 
CM.QM ■ 

. ABS. 




)5J 

)}% 
000072 
000054 
000057 
000044 
000056 
000075 
000043 
000100 
000041 
' ' 174 
150 

21 

177 




000000 
000000 
PURE I Q00?60 
OPURE 000010 
ERRORS DETECTFD: 



CH.QTM' 
CM.RAB< 
CH.RP 
CM. SMC 
CM. SUB 
CH.UAR 
CM.XCL 
CNDMEX 
CNOWRD 
CPL 
CPXADD 
CPXAND 
CPXCOM* 
CPXCON< 
CPXDIV 
CPXFLG 
003 CPXGLB 
CPXIOR 
CPXMUL 
CPXNEG 
CPXOPC 
CPXREL 
CPXSDS 
CPXSTO 

cpxsie 

CR 

CSTACC 

CSTALO 

CSTfLG 

CSTGBL 

CSTMEM' 

CSTREL 

csnrp 



000 
001 



^\ 



000042 
000076 
000051 
000073 
000055 

1136 

)047 
****** Gx 
****** GX 
000120 
000001 
000005 
000011 
000020 

,:ii6 

)006 

13 

no 

000010 

000002 
00001 s 
000020 
000004 
000050 
000100 
000001 
000040 
000200 



VIRTUAL MEMORY USEDt 2922 WORDS ( 12 PAGES) 
DYNAMIC MEMORY! 15744 WORDS ( 60 PAGES) 
ELAPSED TIME) 00:00:29 
5TMNT, 150.30] 
If 



CTTBL 

CVTNUM 

DEFFLG 

DFGFLG 

DFLCND 

DIG.O 

DIG. 9 

FF 

GETNB 

6ETSYM- 

6LBFLG 

GSDTOO 

GSDTQ1 

GSDT02 

GSDT03 

GSDT04 

GSDT05 

GSDT06 

ILVL 

LABEL 

LABElF 

LBLFLG 

LCFLAG 

LC.CND 

LET. A 

LET.B 

LET.C 

LET.D 

L?r.E 

LET.F 

LET.G 

LET.O 

LET. 7 



****** QX 

****** GX 



^ 



GX 




GX 



OOO060 

000071 

000014 

****** GX 

****** 

000100 

000000 

000400 

001000 

001400 

002000 

002400 

003000 

000001 

****** 

****** 

000002 
****** GX 

****** GX 



GX 

GX 



LF 

LINLEN 

LPP 

LSRCH 

LSTLEN 

LSI. KB 

LST.LP 

MDFFLG 

MODE 

MSRCH 

NUtSEC 

OBJLEN' 

OSRCH 

PROPC 

PSTFLG 

REGFLG 

RELFLG 

RLDLEN 

RLDTOO 

RLDV01 

RLDT02 

RLDT05 

RLDT04 

RLDT05 

RLDT04 

RLDT07 

RLDT10 

RLDT11 

RLDT15 

RLDT16 

RLDT17 

RSX11M 

RttllM' 



000012 
000204 
000074 
****** GX 

000204 

w 

000004 
****** GX 
**♦•** GX 

000004 
000052 
****** GX 

****** GX 

000050 

000001 

000040 

000052 

000000 

000001 

000002 

000003 

000004 

000005 

000006 

000007 

000010 

000011 

000015 

000016 

000017 

OOOOCO 

000000 



SETDIR 

SETSYMi 

SMLLEN< 

SPACE 

SRCLEN 

STLLEN 

STMNT 

SUBMAC 

SYMBOL 

TAB 

TTLLEN' 

VT 

WRDSYM> 

XBSRCM 

XCREF 

XEDABS 

XEDCDR 

XEDCRF 

XEDFPT 

XEDLC 

XEDPIC 

XEDPNC 

XFLTG 

XMIT4 

XOPEXP 

XRGERR 

XSUBD 

X7|RR 

X45 

VQCMO 

tLDMAC 

tPSMAP 

IPSTCK 



****** GX 
****** GX 

000120 

000040 

000204 

000100 

OOOOOORG 

000001 

****** GX 

000011 

000040 

000013 

****** GX 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

****** GX 

000000 
000000 
000000 
000000 
000000 
000000 
*••*•* GX 
****** GX 
0002 16RG 



002 



002 



)JSTMNT/-SP-t 50. lOIRSXPAR.MPARAM.GENMf.FLGDF, STMNT 



• M* P I MM 



•*** D 8 ••** 




•••• I I *••• 



•*** E 8 **** 



SY«L MACRO mi08 U-DEC-77 10:05 PAGE 4 



VAV 




00001? 



177760 
000060 



.TITLE 
. I DENT 



SVMBL 
/05.01/ 



COPYRIGMT (C) 1972,1977 

DIGITAL EQUIPMENT CORPORATION, NAVNARD. MASS. 

THIS SOPTVARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 

INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 

ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 

MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 

SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL 
IN DEC. 



TIMES REMAIN 



THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT « CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RFI lABILlTV OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS N01 SUPPLIED UY DEC. 



VERSION OS. 01 
B. BOWERING 

MODIFIED BYi 



D.N. CUTLER 10-FE 
C.A. D'ELIA 1 

H.A. NICHOLS 1 



■73 

•NOV-73 
■JUN'74 



r. 



C.A. D'ELIA 
fDOW 



01-DEC-77 
• MISC (NEW PRINTING CHARS, CLEAN PURE PSECTS) 






-DNC -DECIMAL NUMBER CONVERSION 

-DNCF -ALTERNATE ENTRY FOR ANCUHER BASE 



DNC It 
DNCFit 



111 



PURE 
MOV 


M!:»( ; 


CLR 




DIV 


R3,R0 


MOV 


Rl.-(SP) 


MOV 


R0.R1 


Sf. 


DNCF ; 


MOV 


($P)»,R1 


ADD 


»DIC.6,R1 


M0V9 


RFfURN 





♦ ♦017 

SET DIVISOR 

CIFAR HIGH PART OF DIVIDEND 

DIVIPt R1 

SAVE REMAINDER 

SE'. FOR NEXT DIVIDE 

hUV "" 

RETRIEVE NUVER 
CONVERT TO ASCII 
STORE 



; ••-DIV-SOFTWARE DIVIDE 



••»t f I •••• 



warw f B «•*• 



SYIW. MACRO miO« U-OEC-77 10:05 PAGE 4-1 




71 

^1 

74 000072 

75 000074 

76 000076 

77 000100 




012746 000020 
D5C 




005366 000002 

001366 

010001 

Silts 

000207 
010046 
005000 
005001 
005716 
001771 
006016 
103002 
'1 



006303 
000770 



16767 
1?70i 




; ••-HUL-SOFTWARE HULTILPV 



DIV:: 
II: 



2ti 



DIVXIT: 
MULn 



II: 



»i 



.IF NDF 

NOV 

CLR 

ASL 

ASL 

mx. 

C«P 

BIT 

SUB 

INC 

DEC 

BNE 

NOV 

NOV 

TST 

RETURN 

NOV 

CLR 

CLR 

TST 

■EQ 

RON 

•CC 

ADD 

ADC 

ASL 

BR 

.ENOC 



P0PV45 
#16., -(SP) 
-($P) 
(SP) 
R1 

R0.R3 
21 

R3.R0 

(SP) 

2(SP) 

II 

RO.RI 

(SP)».RO 

(SP)t 

RO.-(SP) 

R1 

(SP) 

DIVXIT 

(SP) 

21 

R3.R1 

II 



SET LOOP COUNT 

RESULT 

SHIFT RESULT 

SHIFT yORK REGISTERS 

DOUBLE REGISTER 
BIG ENOUGH FOR OPERATION? 

NO 
YES 

BUNP RESULT 
TEST FOR END 

.'PLACE REMAINDER IN R1 
; RESULT TO RO 
.'PRUNE STACK 

.'GET FIRST NUNBER 
:CLEAR RESULTS 

.' THROUGH? 

; VES 



••-GETSYM-GET SVNBOL 
••-NUlRJO-NULTIPiy RAD50 
•*-6ETRSQ-GET RAD50 CHARACTER 
•*-SETR50-SET RAO50 CHARACTER 
••"TSTRSO-TEST RAD50 CHARACTER 



OOOOOOG OOOOOOG 



OOOOOO' 

026455 

000040 



000040 



GETSVN::SAVREG 
NOV 
NOV 
CLR 
CLR 
BITB 

s; 

SITR50 

Add 

Ml 6tTR50 

% 

BCS 



CHRPNT.SVNBfG 

«SVNML«4.R1 

-(R1) 

-(R1) 

CTrBL(R5).«CT.ALP 

«26455.R2 



.•SAVE REGISTERS 

.SAVE IN CASE OF RE SCAN 



;ALPHA? 
NO. EXIT FALSE 



NULR50 
R0,(R1) 



11 



*••• I I *«•• 



%im. HACRP mi 08 U-OEC-77 10:05 PAGE «-2 



115 
116 
117 
118 
119 
120 
■)21 
0002M 
000236 
000240 
000242 
0002AA 

^M 
000250 

;i! 

12A 
125 
126 
127 




000226 
000252 
000234 
010046 
006300 
006300 
062600 
006300 
006300 
006300 

000260 
000262 
1270 

m 

oooi: 

000306 

m 



001772 
005721 
000763 

016700 OOOOOOG 
000207 



« 





137 

r" 
1 

140 

141 

US 
144 
145 
146 
147 

11? 
It 



000207 

010500 
132760 
001410 
020027 
103407 
001410 

P' 

000410 
01270C 
162700 
162700 
162700 
162700 
000207 



000064 000000' 
000044 

000101 

100040 

000100 




MULI)50: 
MOV 

ADD 

ASL 

Ik 

6CTR50! 
SETR50! 
TSTR50: 



3S 

(RD* 
It 

SYMBOL. RO 

50.R0 



;»(ULTILPV R0«50 



8 



.'GET NEXT CHARACTER 
R5.R0 ; 

«Cr.ALP!CT.NUM!CT.SP.CTTBL(RO).ALPHA. NUMBER OR SPACE? 
It ; NO. EXIT MINUS 

R0.«CH.DOL ;YES. TRY DOLLAR 

2t .'SPACE 

St .'DOLLAR 

RO.'LET.A 

4t .'DOT OR DIGIT 

5t .'ALPHA 

«1 00000* SPACE.RO 



fSPACE -11.ro 
f 11-22.ro 

#2?- ioo.ro 

»100.R0 



; SPACE 
.DOLLAR 
;DOT. DIGIT 
.ALPHABETIC 



INVALID. FORCE MINUS 



••-CVTNUM-CONVERT TEXT TO NUMERIC 

INPUTS! 

R2-RADIX. 

OUTPUTS I 

HIGH BIT Of RO'OVERFLOW FLAG. 
HIGH BYTE OF RO-CHARACTER COUNT. 
LOy BYTE OF RO-OVERSUE COUNT. 



OOOOOOG OOOOOOG 



CVTNUMiiSAVREO 

CLR RO 

CLR rT 

MOV 
It: MOV 

SUB 

fMP 

BHI 

CMP 

BLO 

INC 



CHRPNT.SYMBTG 
R5,R5 
#DiG,O.Rl 
R5.ir9. 

r|.R2 



SAVE REGISTERS 
RESULT FLAG REGISTER 
NUMERir ACCUMULATOR 
SAVE FOR RFSCAN 

GET A lOPY OF THE CURRENT CHAR 
CONVIR! TO ABSOLUTE 

NO. WE'RE THROUGH 
YES, I ESS THAN RADIX? 

YES 
NO, BUMP 'X' ERROR COUNT 



•••• 



TTT 



•••• 



SYHBL MACRO H1108 U-OEC-77 10:05 PAGE 4-5 



165 OOOAOO 
166 



170 

171 



^26 



191 0004AO 
19? 000444 



IJ? 



m 

105001 
060116 
005704 

105371 

05|7OO 100000 

000766 

012601 




Ml 
Ml 



391 1 



060501 

062700 000400 

000744 

01Q167 OOOOOOC 

000207 



.IF NOr 

nov 

CLR 

ASR 

BCC 

ADD 

TST 

KQ 

ASL 

BCC 

BIS 

Bft 

MOV 

.IFF 

NOV 

MOV 

MUL 

BCC 

TST 

BCQ 

BIS 

MOV 

.ENDC 

ADD 

GETCHR 

ADD 

BR 

MOV 

RETURN 



PDPV45 

R2,R4 

-(SP) 

R4 

41 

R1,(SP) 

R4 

5t 

R1 

3t 

#1 00000, RO 

5t 

(SP)».R1 

RO.-(SP) 
R1.R0 

Sfi"" 

RO 
551 

#100000. (SP) 

<sp)».r6 

R3,R1 

#000400. RO 

IS 

R1. VALUE 



COPY OF CURRENT RADIX 

TEMP AC 

SHIFT RADIX 

BRANCH IF NO ACCUMULATION 

ADD IN 

ANY MORE BITS TO PROCESS? 

NO 
YES. SHIFT PATTERN 
BRANCH IF NO OVERFLOW 
ON. OH. FLAG IT 

SET NEW NU«ER 

♦♦004 SAVE RO (FLAGS) 

♦♦004 COPY INTERMEDIATE RESULT INTO RO 

♦♦004 MULTIPLY IT BY THE RADIX 

♦♦004 SHIP IF NO OVERFLOW 

♦♦004 ELSE. CHECK THE HIGH-ORDER RESULT 

♦♦004 SKIP IF IT'S NULL 

♦♦004 ELSE, INDICATE TRUNCATION ERROR 

♦♦004 RESTORE RO (FLAGS) 

ADD IN CURRENT NUMBER 
GET ANOTHER CHARACTER 
TALLY CHARACTER COUNT 



RETURN 
RETURN. 



RESiitT IN 'VALUE' 
TE.SItNG AC 



I ••-GSARG-GET SYMBOLIC ARGUMENT 

; ••-CSARCF -ALTERNATE ENTRY 

i M-TSTARG-TEST FOR SYMBOLIC ARGUMENT 

;• 



OOOOOOG 



000000' 
Of 0000' 
000001 
000004' 



GSARG: 


.ENABl 


Lsa 


« 




TSTARQ 


• 


;TEST GENERAL 




BCQ 


?t 


; EXIT NULL 


GSARGF 


iGCTSYM 




:GET A SYMBOL 




s; 


It 

RO <50DOT 


; ERROR IF NOT SYMBOL 




BNE 


,• NO. OR 


fit 


ERROR 


A 






CLR 


RO 


; TREAT ALL ERRORS AS NULL 


Hi 


RETURN 








.DSABl 


LSB 




rSTARG 


:MOVB 


CTTBL(R5).R0 


;GET CHARACTERISTICS 

; THROUGH |F COL OR SEMI-COLON 

; FIRST ARGIHENT^ 




fi\ 


ARGCNT 
111 




BCQ 


; YESiGOOD AS IS 
iNO. COMMA? 




ijT 


fCT.COM.RO 




■Ni 


101 


I YIS, BYPASS IT 

;N0, WAS ONE REQUIRED? 




Til 


r 




BCQ 


; NO 




tRROR 


iYCS. FLAG ERROR 



••*• I I •••• 



iim. IWCRO mi08 U-OEC-77 10:05 PACE «-4 



li$ 




w 




sr 



016 



132765 
001572 



000741 
12 005267 

042700 
000207 



016767 
000415 
005267 

Oof370 

117705 




1 



OOOOOOG 000002' 21: 

5S: 

000076 000000' 



10$: 
000000' 111! 
000004* 121: 
OOOOOOG 000002' 
177600 



CHP 

BNE 

GETCHft 

BITB 

BNE 

SETNB 

ERROR 

BR 

GETNB 

INC 

CLR 

NOV 

BIC 

RETURN 



CHRPNT.ARGPNT 
lit 

fCT.PC^CT.SP* 
51 



CT. 



A 
TSTARG 

ARGCNT 
EXPFLG 

CHRPNT.ARGPNT 
«177600,R0 



DID ANVBOOy USE ANYTHING? 

YES, OK 
NO. BYPASS TO AVOID LOOPS 
T AB-C T . C0»»-C T . SNC . C T TBL ( R5 ) 

YES, BYPASS 
NO, SET TO NON-BLANK 
FLAG ERROR 
TRY AGAIN 
BYPASS CONNA 
INCREMENT ARGUMENT COUNT 

SAVE POINTER 
SET FLAGS 



••-SETSYM-SET SYMBOL FOR RESCAN 
••-GETPa-GET NONBLANK CHARACTER 
•*-SETNB-SET NONBLANK CHARACTER 
•*-GETCHR-GET CHARACTER 
•*-SETCHR-SET CHARACTER 
•*-CHSCAN-SCAN BY CHARACTER 



OOOOOOG OOOOOOG SETSVN!:MOV 

BR 
OOOOOOG 



000006 000000' 



OOOOOOG 
OOOOOOG 



GETNB:: INC 
SETNB:: SETCHR 
BITB 



BR 

GETCHR::INC 
SETCHR: iMOVB 

.IF NDF 

BPL 

SUB 

.ENOC 

BMI 
til RETURN 

CHSCAN::TST 



OOOOOOG OOOOOOG 



Wm 

NOV 
RETURN 



SYMBEG,CHRPNT 

SETCHR 

CHRPNT 

#CT.SP!CT.TAB 

GETNB 

SETCHR 

CHRPNT 

•CHRPNT. RS 

NEDLC 

1$ 

f1 77600^40. R5 

GETCHR 

(RO)* 
2t 

(RO)*.RS 
CHSCAN 
-(RO) 
CHRPNT. SVMBEG 

•(RO).RO 



.•RESET POINTER 

;SET CHARACTER AND FLAGS 
;BUMP POINTER 
:SET REGISTERS AND FLAGS 
.CTTBL(R5) :BLANK? 
; YES. BYPASS 
.-EXIT. SETTING FLAGS 
;BUMP POINTER 
;SET REGISTERS AND MACS 

;0K IF NO SIGN BIT 
;TRV FOR L0««R CASE MAP 

;L0OP IF INVALID CHARACTER 

;EN0? 
; YES 

;THIS tHE ONE? 

'IF Nt NO 

;YES, MOVE POINTfR BACK 

.-SAVE CURRENT POINTFR 

;GET NEXT NON-BLANK 

jNOVE ADDR OR ZERO INTO RO 



; CHARACTER CLASSIFICATION DEFINITIONS 



CT.IOL"C 
Cf .COM»«l 
CT.tAB**! 
CT.$P..O( 



;ENO OF LINE 



m 



•••• J I ttt* 



SYWL MACRO NllOB U-OEC-77 10:05 PAGE A-5 




308 000130 



m 



OQOUO 
000150 
000160 
0001 70 






)10 
)20 
OOOOAO 
000100 
000200 
000271 
000006 



CT.PCX««01 
CT.NUH««02 
CT.ALP"0* 
CT.LC-1 : 
CT.SHC»«200 



.'PRINTING CHARACTER 

'NUMBER 

•ALPHABETIC. DOT. OR DOLLAR 

.•LOWER CASE ALPHABETIC 

; SEMICOLON 



CT.PC««CT.CO«!CT.SMC!CT.PCK!CT.NtJM!CT.ALP;PRINTlNG CHARACTERS 
CT.SPT«»CT.SP!CT.TAB .-SPACE OR TAB 



.MACRO 

.IRP 

.BYTE 

.ENbM 

.ENDM 



000001 



CTTBLm 

GENCTT 
GENCTT 
GENCTT 
GENCTT 

GENCTT 
GENCTT 
GENCTT 
GENCTT 

GENCTT 
GENCTT 
GENCTT 
GENCTT 

GENCTT 
GENCTT 
GENCTT 
GENCTT 

.PSECT 
ARGCNTit.BLKW 
ARGPNTii.BLKW 
EXPFLQm.BLKW 

.END 



GENCTT ARC 
A, <ARG> 

CT.'A 



.•GENERATE CHARACTER TYPE TABLE 



PURE DPURE.D 



;»*017 

;REF LABEL 

<E0L. EOL. EOL. EOL. EOL, EOL. EOL. EOL> 

<EOL. TAB. EOL. EOL. EOL. EOL. EOL. EOL> 

<EOL. EOL. EOL. EOL. EOL, EOL. EOL. EOL> 

<EOL. EOL. EOL. EOL. EOL. EOL. EOL. EOL> 

<SP . PCX. PCX. PCX. ALP. PCX. PCX. PCX> 

<PCX. PCX. PCX. PCX. COM, PCX. ALP. PCX> 

^NUR# IwW( Ni^# N^W« N^^* rWW# NUF , NUR^ 

<NUM. NUM. PCX. SMC. PCX. PCX. PCX, PCX> 

<PCX. ALP. ALP. ALP. ALP. ALP. ALP. ALP> 

<ALP, ALP. ALP. ALP. ALP. ALP. ALP. AlP> 

<ALP. ALP. ALP. ALP. AL". ALP. ALP. ALP> 

<ALP. ALP. ALP. PCX. PCX. PCX. PCX. PCX> 

<EOL. LC . LC , LC . LC , LC . LC . LC > 

<LC , LC . LC . LC . LC . LC . LC . LC > 

<LC . LC . LC . LC . LC . LC . LC . LC > 

<LC , LC . LC . PCX. PCX, PCX. PCX, EOL> 

IMPLIN.D.GBL.RW ;m017 

1 .'ARGUMENT COUN' 

I ; START OF LAST ARGUMENT 

I ;SET WHEN COMH^ MrouiRrD 



; CD052 



•t** 



7T 



t««t 



SYMBL MACRO Mil 08 
SYMBOL TABLE 



U-OEC-^7 10-05 PAGE 4-6 




AM.DEC> 
AM.DEF> 

AM.INC- 

AM.NDX- 

AM.PC > 

AM.REL> 

ARGCNT 

ARGPNT 

ASTFLG- 

BLKT01> 

BLKT02> 

BLKT03- 

BLKTM- 

BLKTQS- 

BLKT06- 

CHRPNT* 

CHSCAN 

CH.AOO- 

CH.ANO- 

CH.BSL> 

CH.CQL> 

CH.COM- 

CH.DIV- 

CH.oa* 

CH.DGT* 
rH.EQU- 
CH.HSH- 
CH.INO- 
CH.tOR* 
CH. LAB- 
CM. LP • 
CM.MUL* 
CM.PCT. 
CH.QM ■ 

. ABS. 



PURE I 

OPURE 

IMPIIN 

ERRORS DETECTED! 



*•••** GX 

000T04RG 

000053 

000(M6 

0001 M 

000072 

000054 

000057 

000044 

000056 

75 

3 

100 

1 

74 

50 

II 

77 





CH.QTM> 000042 CT.NUM> 

CH.RAB- 000076 CT.PC « 

CH.RP « 000051 CT.PCX« 

CH.SMC» 000073 CT.SHC« 

CH.SUB- 000055 CT.SP > 

CH.UAR> 000136 CT.SPT> 

CH.XCL- 000047 CT.TAB* 

004 CPXADD- 000001 CVTNUM 

004 CPXANO- 000005 DEFFLG> 

CPXLOM- 000011 DFGFLG- 

CPXCON> 000020 DIG.Q > 

CPXDIV- 000004 DIG. 9 « 

CPXFLG- 000200 DIV 

CPXGLB- 000016 DIVXIT 

CPXIOR- 000006 DNC 

CPXMUL- 000003 DNCF 

CPXNEG- 0OOQ10 ERRSTS- 

002 CPXOPC- 000010 ERR.A ■ 

CPXREL- 000017 EXPFL6 

CPXSDS- 000013 ff 

CPXSTQ- 000012 GETCHR 

CPXSUB- 000002 GETNB 

CR ■ 000015 GETR50 

CSTACC- 000020 GETSVM 

CSTALO- 000004 GLBFLG* 

CSTFLG- 000050 GSARG 

CSTGBL- 000100 GSARCF 

CSTMFM- 000001 GSDTOO' 

CSTREL- 000Q4Q GSDTQI- 

CSTTVP- 000200 GSDT02« 
CTTBL OOOOOORG 003 GSDTOS- 

CT.ALP" 000040 G CSDTJ4" 

CT.COM- OOOQOI G GSD:05« 

CT.EOL* QOOOOO G C<Si)r06« 
CT.LC - 000100 Q 



W 



H 



oood04 

000006 
000002 _ 
000340RG 
000010 
000020 

»? 

m^ 

OOOOOORG 
000004RG 
****** GX 
****** GX 

000004RG 

000014 

000670RG 

000646RG 

000254RG 

0001 26RG 

000100 

0004 54RG 

000462RG 

000000 

000400 

S$'ooo 

001400 
002000 

003000 



VIRTUAL MEMORY USED. 5059 WORDS ( 12 PAGES) 
DYNAMIC MEMORY: 15^4^ WORDS ( 60 PAGES) 
ELAPSED TIME) 00100:36 
SYMBl.fJ0.50ISYMBl/-$P-CS0.101RSXPAR,GENMC.fLCDf.r.r>«l 



002 

oo! 



ILVL « 
LBLFLG" 
LET. A 
LET.B 
LET.C 
LET.D 
LET.E 
002 LET.F 
LET.G 
LET.O 
LET.Z 
LF 
002 LST.KB 
002 LST.IP 
MOFFLG 
MUL 

MULR50 

NUtSEC 

004 PSTFLG 

REGFLG 

002 RELFLG 

002 RLDTOO 

002 RLDTOI 

002 RLDT02 

RLDT03 

002 RLDT04 

002 RLDTOb 

RLDT06 

RLDT07 

RLDT10 

HLDTII 

RLDT15 

RLDT16 

RLDT17 



000001 

000002 

000101 

000102 

000103 

000104 

0001 OS 

000106 

000107 

000117 

000132 

000012 

000001 

000002 

000004 

0001 OORG 

000234RG 

000004 

000050 

000001 

000040 

000000 

000001 

000002 

000003 

000004 

000005 

000006 

000007 

000010 

000011 

000015 

000016 

000017 



RSX11M« 
RtS11M« 
R50DOT' 
SAVREG* 
SETCHR 
SETNB 
SETR50 
SETSYM 
SPACE « 
SUBMAC> 
SYMBEG* 
SYMBOL* 
TAB > 
TSTARG 
TSTR50 
002 T.FLAG 
002 T.MASK 
T.VAL 
VALLf 
VT 

XBSRCH 
XCREF 
XEDABS 
XEDCDR 
XEDFPT 
XEDLC 
XEDPIC 
XEDPNC 
XFLTG 
XOPEXP 
XRGERR 
XSUBD 
X7ERR 
X4S 



000000 
000000 
****** GX 
****** GX 

000674RG 

000652RG 

500260RG 

000636RG 

000040 

000001 

****** GX 

****** GX 

000011 

00051 ORG 

000262RG 

000000 

00OOO1 

000050 

****** GX 

000013 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 

000000 



002 
002 
002 
002 



002 
002 



•••• 



L • ••«« 




•••* N I •••• 



UORDB MACRO Ml 108 U-OEC-77 10:06 PAGE 3 



A 
5 

6 
7 
8 

9 

10 
11 

15 

U 
15 
16 
17 
IB 
19 
20 
21 
22 
23 
2A 
25 
26 
27 
28 

^ 

31 
32 

iJ 

35 

39 000000 

J? 



« 



44 000000 
45 



005205 
011246 
001410 




OOOOOOf 
OOOOOOG 



.TITLE 
.IDENT 



WORDB 
/04/ 



COPYRIGHT (C) 1972.1976 

DIGITAL EQUIPMENT CORPORATION, MAVNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE n-^ USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND NAY BE COPIED JillY WITH THF 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THl ) :SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TC ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS S^IBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A CO'<MirMENT B/ DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 04 



B. 



I* 



BOWERING 

MODIFIED BY: 



D.N. CUTLER 10-FEB-73 
C.A. l/^ELIA lJ-NOV-73 
C.A. D'ELIA 25-JAN-74 
NICHOLS 18-JUN-74 
D'El:A 2C-OtT-75 



H.A. 
C.A. 



008 

Oil 
017 
021 



(VIRT MEMORY) 



RJRI PUREI,! 



;»*017 



; **-aYTE-G;NERATE BYTE/WORD DATA 



lYTEi: 



ttl 



(R2).-<SP) 



Iti 




rNf»C0DL8T 



♦♦Oil R3-1 IMPLIES ".BYTt" 

♦ ♦on RVr IMPl IFS ".WORD" 
SUCH CURRtN? Pt 

TEST FOR ARGUMENT 

END 
PROCESS GENERAl tXPRFSSION 
CONVERT TO OBJECT FORMAt 
PUT ON CODE ROLL 
UPDA I P( 
TEST FOR MQRF 
RESTORE INITIAL PC 

♦ ♦W1 WAS THERE GFNFRATFD CODE? 
♦♦021 IF Nf YES 

JNO. STORE A /FRO 



•••• N I •••• 



yORDB WiCRO mi08 U~DEC-77 10:06 PAGE 3-1 

58 0()0QA6 005067 OOOOOOG CLR VALUE 

5§ 0()0052 SETIMM 

60 01)0056 ST CODE 

61 0D0062 000207 IMl RETURN .•♦♦021 
62 

63 

6A 000001 .END 



•t«* I f ••«• 



*•*• B 9 **•* 



UQRDB MACRO MHOS 
SYMBOL TABLE 

BYTE OOOOOORG 
COOLST« *♦•••* GX 
EXPR » •••••* GX 
ILVL > 000001 
IIIQDE « •♦••♦• GX 
NUtSEC- 000004 



U-OEC-77 10:06 PAGE 3-2 



002 RSX11M* 
Rit11M> 
SETIMM> 
ST CODE" 



01 
01 

•••«** GX 
****** GX 



SUBMAC* 000001 
TSTARG« ♦♦**•• GX 



VALUE « ****** GX 
XBSRCH* 000000 
XCREF * QOOOOO 
XEDABS* 000000 
XEDCDR- OOOCOO 
XEDFPT' 000000 



XEDLC > 
XEDPIC> 
XEDPNC> OOOOOO 
j(fLTG = OOOOOfl 
XOPEXPc 000000 



XRGERR' OQOQOQ 
XSUBD < 000000 
XZERR « 000000 
X45 ' 000000 
$LSCNT» **•♦*♦ GX 



. ABS. 000000 000 

000000 001 

PUREl 00006A 002 

ERRORS DETECTED: 

VIRTUAL MEMORY USED: 1991 WORDS ( 8 PAGES) 
DYNAMIC MEMORY: 157U WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:13 

WORDB.C30.3O]WORDB/-SP>C30.10]RSXPAR,GENMC,WORDB 
> 



••t* c t *•*• 



••♦♦ C 9 •♦•♦ 




*•*• p 9 •••• 



*••• D 9 **** 



WRITE MACRO MllOB U-OEC-77 10:06 PAGE 4 



.TITLE WRITE 
.lOENT /02.01/ 



COPYRIGHT (C) 1972,1977 

DIGITAL EQUIPMENT CORPORATION, NAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 02.01 

'^. BOWERING 

MODIFIED BY: 



D.N. f'JTLER 6-FEB-73 

C.A. D'ELIA 11-NOV-75 005 

C.A. D'ELIA 22-MAR-74 OU 

H.A. NICHOLS 18-JUN-74 017 

C.A. D'ELIA 01-DEC-77 

CD052 » MiSC (NEW PRINTING CHARS. CLEAN PURE PSECTS) 



.MCALL CALL .RE TURN 

.IF NDF RSX11M 

.MCALL PUT! 

.IFF 

.MCALL PUTIS 

.INOC 

.IF OF YQCMO 



;t»OU 

;»»0U 

i»»OU 
;m0U 
;»*0U 

j»»OU 

;*»009 'YQCMO* MEANS QIO DIRECT TO 'CO' 



**•• 



TT 



•••• 



•**t E 9 •••• 



yRITE IWCRO mi08 U-OEC-77 10:06 PAGE 4-1 



60 

61 000000 

6S 000000 
64i 000000 

65 000004 

66 000010 
67 

68 OOOOU 

69 000020 
70 

71 000022 
72 



000024 





016001 
017002 

020027 
0OU17 

01000S 



OOOOOOG 
OOOOOOG 

000000 



4 103401 

6 

)0 012703 OOOOOOG 

)4 000167 OOOOOOG 



w 



267 



103405 



W 



lovy 



MRITE: 



lit 



.MCALL DlRS.QlOt.WTSESS :tt005 
.ENOC .•♦♦014 



PURE PUREI.I 



CALL 


SAVREG 


MOV 


BUFTBL(R0),R1 


MOV 


»CNTTBL(R0),R2 


.IF OF 


VQCMO 


CMP 


R0,»CM0CHN 


BEQ 


MCMO 


.ENDC 




MOV 


R0,R3 


.IF NOF 


RSX11M 



,•♦♦017 

.'WRITE LINE 

.'♦♦014 SAVE REGISTERS 

,'♦♦005 PUT ADDR OF BUFFER IN R1 

••♦♦005 PUT BVTE COUNT IN R2 

,'♦♦005 

,'♦♦005 IS OUTPUT TO 'CO' 

;^^005 YES, BRANCH TO Q I/O DIRECTLY 

,'♦♦014 (VQCMO) 

,'♦♦005 ELSE, COPY CHANNEL NUMBER 



;^^014 

PUTI FDBTBL(R3),R1,R? .■♦♦0C5 (HJTPUT LINE 

• IFF ,'^^014 

PUTSS FDBTBL(R3).R1.R2 .-♦♦014 OUTPUT LINE 



.ENDC 



BCS II 

RETURN 

MOV *0UTM1 .R3 

JMP RESTRT 



.IF DF YQCMO 



{♦♦014 (RSX11M) 



.'OUTPUT I/O ERROR 

,'♦♦014 SEND ERROR MESSAGE AND RE-START 



,'♦♦014 



♦ ♦005 

•♦-lOCMO-SIND A LINE TO DEVICE 'CO' DIRECTLY VIA QUEUE I/O 
INPUTS: 

R1 -ADDRESS OF MESSAGE 

R2>iVTE COUNT OF RfSSAGE 



I 
1-005 



MCMO I 



Iti 



MOV 
MOV 

wrsris 

RETURN 



RI.CMODPB^Q.IOPL ^♦♦OO) PUT BUFFER ADDR IN DP« 
R.*.CMODPB«Q.tOPl*; ;m005 PUT BYTf COUNT IN DF« 



fCMODPB 



INVOKE 010 OIRECnvF 
SKIP IF It FAILED 
WAIT FOR I/O DONF 



•••• 



TT 



•••• 



•*•• f 9 •••« 



yRlTE HACROmiOa U-DEC-r7 10:06 PAGE A-2 

116 000000 .PSECT MIXED. D,;)W ; CD052 

117 ; CP052 

118 000000 CMODPB: QIOS IO.WVB.2.1 ,..,<. .40. ..> ; ttQOS DPS TO SEND TO LUN ? (CO) 
119 

120 

111 .ENOC .♦♦005 



!H 



000001 .END 



TT 



•••• I f •••• 



WRITE NACNO M1108 
SVIWL TfttLE 



U-OEC-77 10:06 PACE «-3 



BINCHN- 



BUfTlL- 

CNXHN« 

CNOOn 

CNTTH' 

CPL « 

FNTtL- 

f.\ 

ILVL 

10.1 

LINLEN- 

LPP « 

. MS. 



000120 
•••••• 

000001 

•••••• 

000204 
000074 



GN 



GX 

GX 
GX 

GX 




000000 
000000 

PUREl 0001U 
NIXED 000030 
EINKMS PCTeCTEDi 



LSTCMN" 
LSTLEN" 
NAXCHN> 
NUtSEC- 
005 QBJLEN' 01 
OUTMI « 
PARtU- 000063 
Q.IOAE- 000012 
Q.IOEF' 000006 
Q.IOfN- 000002 
Q.IOLU* 000004 
O.IOPL' OOOOU 
Q.IOPR> 000007 

000 
001 
002 
003 



Q.IOSB> 
RELCHN« 
RESTRT> 
RLDLEN- 
RSX11N> 
RtlllN- 
SAVRE6> 
SMLCHN> 
SMLLEN- 
SRCCHN* 
SRCLEN> 
STCLEN- 



\l 



•••••• GX 

000052 



SUBNAC- 
TRPCNT* 
TTUFN« 
XBSRCH« 
XCREF 




900000 



••••*• GX 

000012 
000120 
000002 
000204 
000100 



XEDABS< 000000 
XEDCDR' OOOOOO 
XEOCRF- OOOOOO 
XEDFRT- OOOOOO 
XEDLC > OOOOOO 
XEDPIC' OOOOOO 
XEDPNC* OOOOOO 



XFLTG « 


OOOOOO 




XOPEXP- 


1 JiM k 




XR6ERR> 


in 1 ) k 1 




XSUBO > 


>5u ' * 




X7ERR « 
X45 . 


m 




VQCMO < 
MCNO 


S»,c 


002 


MRITE 


OOOaORG 


002 


SSSARG* 


00006 




III0ST> 


000014 




.PUTSO" 


*••*** G 





VIRTUAL FCNORV USED: 193S WORDS ( 8 PAGES) 

DVNMIIC MIPVRV: 15744 WORDS ( 60 PAGES) 

ELAPSED urn-. 00:00:22 

WRITE. C30.S0]WRITE/-SP'[S0.10]RSXPAR.MPARAM.MCI0CH.WRITE 



•••• N 



*«•• 




•••• I f •••• 



ACfWO MACRO M1108 U-OEC-77 09:A3 P»'f.E 2 



.TITLE 
. I DENT 



ACWD 



It OQOOOO 

00000? 000000 
000004 00000?' 



COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MAVNAAD. MASS. 

THIS SOfTVARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 01 

C. MONIA 0«-FEB-76 

PHASE S COMMON SUBROUTINES 

LOCAL DATA 



UREF: .BLKW 1 
fFHD: .WORD 

.WORD .-2 



CURRENT REFERENCE 

REFERENCE LISTHEAD 

LAST POINTS TO FIRST INITIALLY 



I 



012701 OOOOOOG 



)5 




••-tACMOD-ALLOCATE A CONCATENATED MODULE DESCRIPTOR 

THIS SUMOUTINE IS CALLED TO ALLOCATE A DESCRIPTOP FOR MODULES 
CONTAINING CONCATENATED ELEMENTS. 



INPUTS! 

R«<ADDRES 
OUTPUTSi 



OF CURRENT ELEMENT DESCRIPTOR 



RO-REAL ADDRESS OF DESCRIPTOR 
RUVIRTUAL ADDRESS OF DESCRIPTOR 
tCRELM*REAl ADDRESS OF NEW DESCRIPTOR 

PAGE CONTAINING DESCRIPTOR IS WRITE MARKED 



lACMOOii 



0000000 



MOV 
CALL 

MOV 



«ElLWiO.R1 ; GET Sl/E OF BLOCK NEEDED 

lALSVt ; AllOCATF VIRTUAL MTTORY 

E|LNUN(RO) : SET HICHESI SECTION NUMBtR TO -1 

E|lSwr(R«),Ft(SWT(RO) i COPY SWITCH WORD OF PARENT FCFMENT 
RO.tCRFlM ; SET ELEMENT DESCRIPTOR ADDRESS 

•••• J f •••• 



ACHOO »UCRO mi08 U-DEC-77 09:43 PAGE 2-1 



58 000034 

60 
61 
62 
63 
64 
65 
66 
67 

\5 



63 000036 

i4 00Q0S6 
5 000042 010U6 
rb 000044 012701 
7 000050 
U 000054 010077 
89 000060 010067 



000004 

177724 
177720 



90 000064 012660 000002 

91 000070 

9! 



RETURN 



•*-S8LDRF-ALL0CATE A SYMBOL REFERENCE ENTRV 

THIS ROUTINE IS CALLED TO ALLOCATE A TWO-WORD REFERENCE LIST 
ENTRY WHENEVER AN UNDEFINED GLOBAL SYWOL IS FOUND. THE LIST 
ENTRIES CONTAIN THE VIRTUAL ADDRESSES OF UNDEFINED SYM- 
BOLS WITHIN THE SEGMENT CURRENTLY BEING PROCESSED. 

INPUTS: 

i RI'VIRTUAL ADDRESS OF REFERENCE 

I REFHD-REFERENCE LISTHEAD 



OUTPUTS: 

ENTRY IS THREADED INTO THE REFERENCE LIST. 
ALL REGISTER CONTENTS ARE PRESERVED 



.ENABL LSB 



MLDRF : : 



SAVVR 

MOV 

MOV 

CALL 

MOV 

MOV 

MOV 

RETURN 



R1.-(SP> 

4f4,R1 

tALBLK 

RO.IREFHDtP 

R0,REFMD»2 

(SP)*.2(P0) 



SAVE VOLATILE REGISTERS 

SAVE VIRTUAL ADDRESS OF REFERENCE 

GET SIZE OF BLOCK 

ALLOCATE CORE BLOCK 

LINK TO OLD LAST 

SET NEW LAST 

RECORD VIRTUAL ADDRESS OF REFERENCE 



I 
I 

; 



••-lEDRF-EDIT R5FERENCE LIST 



; THIS SUBROUTINE IS CALLED TO INITIAL l/E A SCAN OF THE REFERENCE LIST. 
AS EACH LIST ELEMENT IS SCANNED. THF VIRTUAL AND REAL ADDRESS OF THF 
REFERENCE ARE OBTAINED AND A CO-ROUTINf TALL IS MADE TO THE CALLFR 
WITH THE C-fllT CLEAR. A CO-ROUTINE CAU CAUSES THf NEXT ENTRY TO BE 
OBTAINED AS DESCRIBED. WHEN NO FURfHfR (NIRIIS R(MA1N TO BE PRO- 
CESSED THE ROUTINE EXITS VIA A RETURN WITH THE C-BH SET. THF 
CALLING ROuriNE MAY TERMINATE PROCESSING BY REMOVING THE RETURN 
ADDRESS FROM THE STACK. 



INPUTS) 



; 



REFHD-REFERENCE LISTHEAD 



; OUTPLITSi 



1 



C/CLEAR - NEXT ENTRY FOUND 

RO'REAL ADDRESS OF UNDfriNED SYMBOL 
R1-V|RniAl ADDRESS Of UNDFMNFD SYMBOL 



*«•• 



TT 



•«*• 



ACMOO MACRO Ml 108 U-DEC-77 09:45 PAGE 2-2 



15 
16 
17 
18 
19 

1 



000072 

25 000072 

26 000100 

27 000100 

28 0001 OA 

8000106 
000110 
31 0001U 
52 000116 



^ 



000122 
000124 
000126 



59 

40 

41 

i\ 

44 
45 
46 
47 
48 
49 
SO 
51 

55 000150 

54 000150 

55 000154 

56 000156 
00014? 

146 



5 

6 

57 

59 

60 

161 






016767 

016701 
000261 
001425 
012167 
011101 

000241 

000764 



016702 
001405 
011267 

000770 

01^767 



177704 
177674 

177664 



177700 



177646 
1 77640 



177626 




EXIT IS VIA A COROUTINE CALL 

C/SET - NO FURTHER ENTRIES TO BE PROCESSE,) 

EXIT IS VIA A RETURN 



UDRF 
lOt: 



MOV 

MOV 

SEC 

BEQ 

MOV 

MOV 

CALL 

CLC 

CALL 

M 



REFHD.CUREF 

CUREF.R1 

501 

(R1)»,CUREF 
(RD.RI 
SCVRL 

a(SP)« 

lot 



SET CURRENT REFERENCE ADDRESS 

GET ADDRESS OF CURRENT ENTRY 

ASSUME END OF LIST 

IF EQ END OF LIST 

SET ADDRESS OF NEXT 

GET VIRTUAL ADDRESS OF ENTRY 

CONVERT TO REAL ADDRESS 

SET SUCCESS 

CALL THE CALLER 

GO Ar-MN 



i* 



• •-WLREF-FLUSH ALL REFERENCE LIST ENTRIES 

THIS SUBROUTINt tS CALLED TO RETURN ALL REFERENCE LIST ENTRIES 
TO DYNAMIC STORKik. 

INPUTS: 

REFHD-REFERENCe LISTHEAD 
OUTPUTS: 

ALL REFERENCE LIST ENTRIES ARE RETURNED TU DYNAMIC STORAGE 



SRLREF 1 1 



208) 

50t! 



MOV 

WQ 

MOV 

CALL 

■R 

MOV 
RFTURN 



RfFHD.R? 

20t 

(R2),RFfMP 

RIFASE 

tRLREF 

#RfFHD,RFFHP»2 



OIT ADDRfS*! OF ENTRY 
IF FO LIS! NOW fMPTY 
SE1 ADDRFSS OF NEXT 
RIKASf INIRY 
GO AGAIN 

LAST POINTS TO FIRST 



; 



REltA«;f A REFERENCE llSt ENTRY 



RLEASt i 



MOV #4,R1 
MOV «VRMD.RO 
CALLR IRlCB 



I 

i GET Sl/F Of ENTRY 

} SET ADDRtSS OF ItStHFAD 

; RtlFASF rORF BlOtK 



•••• I, f tt«« 



ACPWO MACRO mi08 U-DEC-77 09:A3 PAGE 2-3 



mo 
mo 



012702 000002' 

m 



000002 



000241 



000001 



177552 



**-IDELRF-REM0VE SPECIFIFD REFERENCE LIST ENTRY 

THIS SUBROUTINE IS CALLED TO SEARCH FOR AND REMOVE AN ENTRY 
IN THE REFERENCE LIST WHOSE SECOND WORD MATCHES A SPECIFIED VIR- 
TUAL ADDRESS. THE ENTRY IS UNLINKED AND RETURNED 70 DYNAMIC STORAGE. 

INPUTS: 

R1-VIRTUAL ADDRESS OF GLOBAL SYMBOL 

OUTPUTSi 

C/CLEAR - REFERENCE LIST ENTRY FOUND AND RELEASED 
C/SET - SPECIFIED REFERENCE LIST ENTRY DOES NOT EXIST 

ALL REGISTER CONTENTS ARE PRESERVED 



IDELRF : i 
AOli 



SAVVR 
MOV 



soil 

601 1 



CALL 
CLC 

RETURN 

.DSABL 

.END 



ffREFHD.R2 

R2.R0 
(R0),R2 

60$ 

2(R2).R1 
0» 
(R2).<R0) 



5$^ 
RO.F 



.REFHD*2 
RLEASe 

I SB 



SAVE THE VOLATILE REGISTERS 
GET ADDRESS OF REFERENCE LIST 

SET ADDRESS OF PREVIOUS 

GET ADDRESS OF NEXT 

ASSUME END OF LIST 

IF EQ END OF LIST 

fOUND ENTRY? 

IF NE NO 

RELINK REMAINING ENTRIES 

SET NEW LAST 

RELEASE ENTRY 
CLEAR CARRY 



dM* H f •••« 



ACMOD MACRO M1 108 
SYMBOL TABLE 



H-DEC-77 09!*3 PAGE 2-« 



CR 
CUREF 



000015 
OOOOOOR 



EiLMNO" •••**• GX 



EILNJM* 



GX 



HT 
LF 

REFHD 
RLEASE 



000011 
000012 
000002R 
0001 60R 



E»LSWT» •••••• GX 



RtSIIM* 000000 



SPA » 


COOOAQ 
00001! 


SBLDRF 


000036RG 


VT 


ICRELM- 


•«***• GX 


SACMOD 


000006RG 


tCVRI > 


«**•*• GX 


SALBLK' 


•**»*♦ GX 


SDFLRF 


0001 7«RG 


lALSVB* 


****** 6X 


lEDrtF 


000072HG 



IFRHD e •••*«♦ GX 
IRLCB » ♦*•**« GX 
IRLREF 0001 30RG 
SSAVVR* ••*•** GX 
SS ' 000001 



FF 



oooou 



. ABS. UOOOOO 000 

0002A2 001 

ERRORS DETECTED: 

VIRTUAL KMORV USED: 675 WORDS ( 3 PAGES) 
DtNAniC MEMORY: 157AA WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:09 
t3'.20]ACMOO.C31.30:ACMOD/-SP«t31,10]MACFLM.ACMOD 



•*•« 



TT 



tttt 




t««* I )0 MM 



**»* B 10 **** 



MACFLM MACRO Ml 108 U-OEC-77 09: AA PAGE 2 

1 000000 AStDRM>0 



t*ft« c 10 **** 



**•* c 10 **** 



HACFLW MACRO M1108 U-DEC-77 09:4A PAGE 3 



.IF OF 
2 



AttDRM 



.TITLE ADRSM 








.IFF 








.TITLE ADRST 








.ENDC 








. I DENT /09/ 








COPYRIGHT 1973. DIGITAL 
COPYRIGHT 1974, DIGITAL 
COPYRIGHT 1976. DIGITAL 


EQUIPMENT CORP.. 
EQUIPMENT CORP.. 
EQUIPMENT CORP.. 


MAYNARD. 
MAYNARD. 
MAYNARD. 


MASS. 
MASS. 
MASS. 



;»*-1 



THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC*S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 



DEC ASSUMES NO RESPONSIBILITY FOR 
OF ITS SOFTWARE ON EQUIPMENT WHICH 
VERSION 09 
VrRSION 08 

D. N. CUTLER/C. MONIA 27-JAN-74 



THE USE OR RELIABILITY 
IS NOT SUPPLIED BY DEC. 



.••-1 



MODIFICATIONS 

NO. DATI 



JAK100 



-JAN- 7* 
-FEB- 76 
■APR- 76 
■FEB-77 



PROGRAMMER 



C. MUNIA 
C. MONIA 
C MONIA 
CHANGES FOR MULTIUSER 



TASKS 



••-lADRSM-ADDRESS LIMITS SETUP 

**-lADRST-ADDRESS LIMITS SETUP AND TASK IMAGE BUFFER FLUSHED 

THIS ROUTINE IS CALLED TO SET UP THE ADDRESS LIMITS FOR A SEGMENT. 
IF THE SPECIFIED SEGMENT |S THE SAME AS THE CURRENT SEGMENT THAT IS 
IS BEING WRITTEN. THEN AN IMMEDIATE RETURN IS EXECUTED. ELSE THE 
CURRENT OUTPUT BUFFER IS FLUSHED AND THE NEW ADDRESS LIMITS ARE ES* 
TABLlSHED. 



INPUTS! 



•*•• 



"ns" 



•••• 



**ftt D 10 **** 



ADRSW MACRO Ml 108 U-OEC-77 09:«A PAGE 3-1 



; 



I ROsVIRTUAL ADDRESS UF SEGMENT DESCRIPTOR 
OUTPUTS: 

THE ADDRESS LIMITS FOR THE SPECIFIED SEGMENT ARE ESTABLISHED. 



SADRST: 



78 000000 

79 000000 
80 

81 
82 

83 000002 

84 000006 

85 OOOOU 

86 000016 



i 
i 



010001 



016067 
010002 
016200 



SADRSM: 



OOOOOOG OOOOOOG 
OOOOOOG 



000022 009067 OOOOOOG 
OOOOOOG 



VA 000026 
93 000QS2 

OOOOfi 



020167 
"100A 
5000 



016767 OOOOOOG OOOOOOG 




OOOOOOG 



15t> 



OOOOOOG 



.IF 



CMP 

BEQ 

MOV 

CALL 

MOV 

.IFF 



MOV 

.ENDC 

CALL 
MOV 
MOV 
MOV 

.IF 

CLR 

.CNOC 

CMP 
BNE 
CLR 

.IF 

MOV 

.ENDC 



ADD 
MOV 
MOV 
ADD 
DEC 
MOV 
MOV 
TST 
BEO 
CMP 



NDF 



ASSDRM 



RO.SWRSEG 

50i 

RO.-(SP) 

tFLUSH 

(SP)*.R' 



RO.RI 



IS SPECIFIED SEGMENT SAME AS CURRENT? 
IF EQ YES 

SAVE SEGMENT ADDRESS 
FLUSH CURRENT OUTPUT BUFFER 

RETRIEVE VIRTUAL SEGMENT ADDRESS 



; COPY VIRTUAL SEGMENT DESCRIPTOR 



tCVRL ; CONVERT TO REAL ADDRESS 
SIGSTS(RO),tWRFLG ; SAVE SEGMENT FLAGS 
R0.R2 : SAVE REAL ADDRESS 
StGLDA(R2).R0 ; GET VIRTUAL STARTING ADDRESS 

DF RtSIIM 

tLOWRW ; SET LOW R/W MEMORY LIMIT 



Rl.tRTSEG 

i5i 

RO 

DF RitllM 

SHDSIZ.tLOWRW 



lOFFSl.RO 
RO.SBEGRW 
RO.MEGRQ 
StGLNG(R2).R0 

RO.fENORW 
RO.IENDRO 
$idR0(R2) 

RI.SRTSEG 



RESIDENT ROOT? 
IF NE NO 
**02\ CLEAR RELOCATION BIAS 



SET LOW R/W LIMIT TO EXCLUDE HEADER 



GET OFFSET BIAS 
SET BEGINNING OF RW AREA 
SET BEGINNING OF R-O 
; ADD IN SEGMENT R-W LENGTH 
BACK OFF ONE 

SIT END OF R-O AREA 
ANY READ ONLY LENGTH 
IF EO NO 
ROOT SEGMENT? 



,•♦•-2 



IJAKIOO 
IJAKIOO 
IJAKIOO 
IJAKIOO 
IJAKIQO 
IJAKIOO 
IJAKIOO 
IJAKIOO 
IJAKIOO 
IJAKIQO 
iJAKlOO 



•••• I 10 •••« 



•**• E 10 **** 



ADRSW MACRO Ml 108 U-OEC-77 09:AA PAGE 3-2 



1 



15 000110 

16 000112 

17 000116 

18 000122 

19 000126 

20 000132 

21 0001 3A 

22 OOOUO 
123 0O0U2 

2A 000U2 

25 0OOU6 

26 000152 
7 



001 OH 
016200 
066700 
010067 
066200 
005300 
010067 
000A04 

005067 
005067 



OOOOOOG 
OOOOOOG 
OOOOOOG 
OOOOOOG 

OOOOOOG 



OOOOOOG 
OOOOOOG 



20$: 
401: 



BNE 20$ 

MOV S$GR0B(R2) ,R0 

ADD $OFFST.R0 

MOV R0.$BEGRO 

ADD S$GRO(R2).R0 : 

DEC RO 

MOV R0.$ENDR0 

BR 40$ 

CLR $8EGRW 

CLR $ENORW 



.IP NDF A$$DRM 



; IF NE NO 

; GET R-O BASE ADDRESS 

; INCLUDE OFFSET BIAS 

; CALC. END OF R-O 
ADD IN R-O LENGTH 

; BACK OFF ONE 

: SAVE END OF R-O 



; READ ONLY SEGMENT - ZERO R-W 



000152 066767 OOOOOOG OOOOOOG 



UO 
'41 
Hi 000160 



j! 



50$: 



000001 



MOV 
MOV 

.ENOC 



.IF 

ADD 

.ENDC 

RETURN 

.END 



S$GBLK(R2).$RLBLK ; SET STARTING BLK NUM OF R-W 
S$GBLK«2(R2),$RLBLKt2 ; SET START BLK NUM OF R-O 



DF R$$11M 

$aEGRW.$LOWRW ; OFFSET LOW R/W LIMIT 



;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
IJAKIOO 
IJAKIOO 
;*.-50 



•*•• 



TW 



•••• 



•••• f }Q •••* 



AMSM MACRO m 108 
SYMBOL TABLE 



AttOWl* 
CR > 
Ff « 

HT « 
LF 

. ABS. 



000000 
000015 

oooou 

000011 
000012 



U-OEC-77 09:U PAGE 3-3 



Mt11M> 000000 
SPA > 000040 
S$6L0A« •••••• GX 

S»GLN6« •••♦•• 6X 
S»GR0 « ••♦♦•• GX 



SIGR0B« *••••♦ GX 
S$GSTS« *••••* GX 
VT « 000013 
tAORSM OOOOOORG 
SBEGRO* ♦••••♦ GX 



S8EGRW> ♦••••• GX 
ICVRL » ♦**•»♦ 6X 
$ENORO« •»••♦• GX 
»ENORW« •♦♦•«* GX 
SHOSIZ= •••••• GX 



$LO«RW« *••••♦ GX 
SOFFST« •♦•♦•• GX 
$RTSEG« ♦••♦♦• GX 
lyRFLG* *•••♦• GX 
$1 = 000001 



000000 

000162 
ERRORS DETECTED: 



000 
001 



VIRTUAL MEMORY USED: 650 WORDS ( 3 PAGES) 

DYNMIC MEMORY: 157U WORDS ( 60 PAGES) 

ELAPSED TIME: 00:00:09 

C51 ,20]ADRSM.t31 .30]ADRSM/-SP>C31 ,10]MACFLM.ADRSM.ADRST 

y 



•••• 10 **** 



wwww 6 iu *••« 




••*• H 10 •••• 



n iw 



HACFLM MACRO M108 U-OEC-77 09:U PAGE 2 



.IF 


DF 


.TITLE 


AORSn 


.IFF 




.TITLE 


ADRST 


.ENDC 




. I DENT 


/09/ 



AIIDRN 



;**-1 



C0FVRI6HT 1973, DIGITAL EQUIRftENT CORP.. NAVNARD, MASS. 

COPVRIGHT 1974. DIGITAL EQUIPMENT CORP., MAVNARD, MASS. 

COPYRIGHT 1976. DIGITAL EQUIPMENT CORP.. MAVNARD. MASS. 

COPYRIGHT (C) 1977 

THIS SOFTyARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS NAY OTHERWISE M PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 



DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
; OF ITS ^QFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 
; VERSION 

VERSION 



>unc: 



D. N. CUTLER/C. MONIA ?7-JAN-74 
MODIFICATIONS 



.•••-1 



NO. 




DATE 

11-JAN-7* 
lj-FEB-76 
Q2-APR-76 
15-FEB-77 



PROGRAMMER 



C. MONIA 
C. MONIA 
C. MONIA 
CHANGES FOR MULTIUSER TASKS 



••-•ADRSM-ADDRESS LIMITS SFTUP 

••-lADRST-ADDRESS LIMITS St TUP AND TASK IMAGE BUFFER FLUSHED 

THIS ROUTINE IS CALLED TO SET UP THE ADDP'^SS LIMITS FOR A SEGMENT. 
IF THE SPECIFIED SEGMENT IS THE SAME AS THE CURRENT iimw THAT IS 
IS BEING WRITTEN. THEN AN IMMEDIATE RETURN IS FXECUTED. ELSE THt 
CURRENT OUTPUT BUFFER IS FLUSHED AND THE NEW ADDRESS LIMITS ARE fS- 
TAiLlSHED. 



INPUTS I 



•«•• t to **** 



fDRST MACRO H1 108 U-OEC-77 09 :U PAGE 2-1 



1 
68 

69 000000 

70 000000 

71 000004 

72 000006 

73 000010 
7A OOOOU 
75 



000016 

|5 oooo!o 

000052 

>7 



I! 

9« 000042 
99 000046 
" 0000)0 



8 



RO«VIRTUAL ADDRESS OF SEGMENT DESCRIPTOR 
OUTPUTS: 

THE ADDRESS LIMITS FOR THE SPECIFIED SEGMENT ARE ESTABLISHED. 



020067 
001501 
010046 

012601 



OOOOOOG 



tADRSM: 



016067 
010002 
016200 



OOOOOOG OOOOOOG 
OOOOOOG 



0000S6 005067 OOOOOOG 
OOOOOOG 



020167 
001004 
005000 



016767 OOOOOOG OOOOOOG 




15li 



OOOOOOG 



.IF 



lAORST:: 



CMP 

BEQ 

MOV 

CALL 

MOV 

.IFF 



MOV 

.ENOC 

CALL 
MOV 
MOV 
MOV 

.IF 

CLR 

.ENOC 

CMP 
BNE 
CLR 

.IF 

MOV 

.INPC 



ADD 
MOV 
MOV 
ADD 

BIQ 

CMP 



NDF 



A»SORM 



RO.IURSEG 

50i 

RO.-(SP) 

tFLUSH 

(SP)».R1 



R0.R1 



; 



IS SPECIFIED SEGMENT SAME AS CURRENT? 
IF EQ VES 

SAVE SEGMENT ADDRESS 
FLUSH CURRENT OUTPUT BUFFER 
RETRIEVE VIRTUAL SEGMENT ADDRESS 



; COPY VIRTUAL SEGMENT DESCRIPTOR 



ICVRL ; CONVERT TO REAL ADDRESS 

SIGSTS(RO).tWRFLG : SAVE SEGMENT FLAGS 
R0.R2 ; SAVE REAL ADDRESS 

StGLDA(R2).R0 ; GET VIRTUAL STARTING ADDRESS 

DF RItllM 

iLOyRW ; SET lOV R/W MEMORY LIMIT 



R1.IRTSEG 

15i 

RO 



RESIDENT ROOT? 
IF NE NO 
♦*021 CLEAR RELOCATION BIAS 



DF RttllM 

tHDSl/.lLOWRW ; SET LOW R/W LIMIT TO EXCLUDE HEADER 



V^ST.RO 
RO.MEGRW 

S|GLN6rR2).R0 

RO.ItNDRW 
RO.ItNDRO 
SIGR0(R2) 

RI.IRTSEO 



GET OFFSET BIAS 
SET BEGINNING OF RW AREA 
SET BEGINNING OF R-O 
: ADD IN SEGMENT R-W LENGTH 
; BACK OFF ONI 

; Srt fNO OF R-0 AREA 
ANT RFAD ONLY UNOTH 
ir to NO 
ROOT SEGMENT? 



;•.-? 



JAKIOO 

JAKlOO 

JAUIOO 

JMk\' 

JAKI 

JAKi 

JAkl 

JAKIOO 

JAKl 

JAKI 

JAKI 



•••• 



Tiy 



••«t 



fDRST NACRO H1 108 U-OEC-77 09 -.AA PAGE 2-2 



115 0Q012A 

116 000126 

117 000152 

118 0001)6 

119 000U2 

120 000H6 

121 000150 

122 000154 

125 000162 

126 000166 

128 

130 000166 
151 000174 
152 

IS 

155 

156 

157 

158 000202 

159 

UO 

U1 

}i*2 000210 

U3 

U4 



001 ou 

016200 OOOOOOG 

066700 OOOOOOG 

010067 OOOOOOG 

066200 OOOOOOG 

005500 

010067 OOOOOOG 

000404 

005067 OOOOOOG 

005067 OOOOOOG 



201: 
40$: 



BNE 20$ 

mv SSGK0B(R2) .RO 

ADD tOFFST.RO 

MOV RO.tBEGRO 

ADD SSGRO(R2),R0 ; 

DEC RO 

MOV RO.SENDRO 

BR 40i 

CLR S6EGRW 

CLR SENDRW 



.IF NDF AtlDRM 



' IF NE NO 

; GET R-0 BASE ADDRESS 

; INCLUDE OFFSET BIAS 

; CALC. END OF R-O 
ADD IN R-O LENGTH 

; BACK OFF ONE 

; SAVE END OF R-O 



READ ONLY SEGMENT - ZERO R-W 



016267 OOOOOOG OOOOOOG 
016267 000002C 000002G 



066767 OOOOOOG OOOOOOG 



SOI) 



000001 



NOV 
MOV 

.ENDC 



.IF 
ADD 
.ENOC 

RETURN 
.END 



StGBLK(R2).tRLBLK .- SET STARTING BLK NUM OF R-y 
SSGBLK«2(R2>.IRLBLK*2 ; SET START BLK NUM OF R-O 



DF RItllM 
IBEGRW.SLOWRW 



;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
iJAKlOO 
;JAK100 
;JAK100 
;JAK100 
.-JAKIOO 
;JAK100 
; JAKIOO 
.JAirlOO 
.JAKIOO 
; JAKIOO 
; JAKIOO 
; JAKIOO 
; JAKIOO 
; JAKIOO 
; JAKIOO 
..•.-50 



OFFSET LOW R/W > IMIT 



*«•• 



TW 



•«*• 



AORST MACRO MHOS 
SYMBOL TABLE 



CR 

FF « 

HT 
LF 

RtS11M> 
SPA « 



000015 
OOOOU 

oooon 

000012 

ooooou 

000040 



U-OEC-77 09.4* PAGE 2-5 



SSGBlKs ••♦•♦• GX 

S»6L0A» •••••• GX 

S»GLNG» •••♦** GX 

S$GRO « •♦•••• GX 

SiGROB« •♦**•♦ GX 

SSGSTS« ••*••• GX 



VT = 000013 
UDRST OOOOOORG 
IBEGRO- ****** GX 
I6EGRW> ****** GX 
$CVRL « ****** GX 
$ENORO« ****** GX 



lENORW" *♦♦*•* GX 
|FLUSH» ****** GX 
SHDSIZ* ****** GX 
IL0«RW» ****** GX 
$OFrST» ****** GX 



IRLBLK" »*•*•* GX 
SRTSEG" •****• GX 
$WRFLG« ****** GX 
IWRSEG« ****** GX 
t$ * 000001 



. ABS. 000000 000 
000212 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 675 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00 « 
C31 .20DADRST.C31 .303AURST/-SP*C31 .103MACFLM.ADRST 

I XM 



•••• 



n7 



•••• 




MM M 10 MM 



ALALO MACRO Ml 108 U-DEC-77 09:4* PAGE 2 



10 

11 

!l 

H 
15 
16 
17 
18 
19 
?0 
?1 
22 
23 
2<. 
25 
26 
27 
28 
29 
30 
11 



000020 



.TITLE ALALO 
. I DENT /07/ 



COPYRIGHT 1976. DIGITAL EQUIPMENT CORP.. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 



DEC ASSUMES NO RESPONSIBILITY FOR THE 
OF ITS SOFTWARE ON EQUIPMCNT WHICH IS 



USE OR RELIABILITY 
NOT SUPPLIED BY DEC, 



VERSION 07 








D. N. CUTLER/C. MONIA 17-MAR-74 




MODIFICATIONS 


: 






NO. 


DATE 

16-JAN-75 
09-FEB'76 


PROGRAMMER 


036 
048 


C. 
C. 


MONIA 
MONM 



I 
I 



AUTOLOAD VECTOR ALLOCATION 

**-IALALO* AUTOLOAD VECTOR ALLOCATION 

THIS ROUTINE IS CALLED IN PHASE 4 TO ASSIGN ADDRESSES TO 
ALL AUTOLOAD VECTORS. 

INPUTS' 

NONE. 
OUTFITS! 

AIL AUTOLOAD VECTORS ARE ASSIGNED ABSOLUIE ADDREf^SES. 



i0l40« 
12700 



000001 
000022' 



OOOOOOG tALAlOi.-CMP 
BEO 

(All 

101) RETURN 



«1.tNUMSG 

loi 

#AlAIO.R0 
IPCT 



kr 



iONlY ONE SEGMENT? 

;|f fO YES 

;GET PHASE CONTROL ROUTINE ADDRESS 

;CALL PHASE CONTROL ROUUNt 

I 



{ AUTOLOAD VECTOR ALLOCATION 



;*»-1 
.•♦•-1 



;*»-1 

i**NEW** 
;**NEW** 

;**NEW** 

;**NEW** 
l**NEW«* 
[••NfW*« 

I ••NEW** 

[••NEW^^ 

l»*NEW»* 
;*^NEW^* 



ittt M 10 **«* 



ALALO «ACRO NIIOB U-OEC-77 09:«4 PAGE 2-1 



i 

63 0000S2 
(A OOOOM 
6S 000042 

68 000052 

69 00M5A 

70 QQ0054 

71 

7A 
75 



.70 
000074 
000102 

78 000120 

79 000124 
000130 




82 



; THIS ROUTINE IS CALLED FOR EACH SEGMENT IN THE ALLOCATION. 



01^705 
016504 

m 

011505 
001001 



OOOOOOG 
0000(Vw5 
0000./26 
OOOOCOG 



ALALO: SAVRG 



016501 000002 



20$: 



soil 



i 

ADD 
MOV 
BNE 

RETURN 



016046 
152760 
142760 
010460 
012665 
010360 
062704 
000746 

000001 



OOOOOOG 

ooooooc 

)G 
)0G 
)2 

OOOOOOG 
OOOOOOG 




OOOOOOG 
OOOOOOG 



.END 



SCRSEG.R5 

SIGAUT(R5>.R4 

St6AUT«2(R5>,R3 

»StGATL.RS 

(R5),R5 

30$ 



SAVE NONVOLITILE REGISTERS 

GET ADDRESS OF CURRENT SEGMENT 
GET BASE ADDRESS OF AUTOLOAD VECTORS 
GET ADDRESS OF AUTOLOAD SECTION 
POINT TO AUTOLOAD LISTHEAD 

GET ADDRESS OF NEXT IN LIST 

IF NE GOT ONE 



2(RS>.R1 : GET VIRTUAL ADDRESS OF INDIRECT SYMBOL 

iCVRL ; CONVERT TO REAL ADDHESS 

$WRMP6 : WRITE MARK PAGE 

S$VVAL(RO),-<SP) ; SAVE VIRTUAL ADDRESS OF REAL SYMBOL 

#<SY$REL!SY$A^R>.S$VFLC(RO) .•♦♦036 SET REL.. AUTOLOAD REF. FLAGS; oNEW** 

#SY$IND,S$YFI.G(RO) ; CLEAR INDIRECT FLAG ;**-1 

R4,S$YVAL(R0) ; SET SYMBOL VALUE 

($P)t.2(R5) ; SET AUTOLOAD LIST ENTRY TO REAL SYMBOL 

SET ADDRESS OF SECTION TABLE 

POINT TO NEXT AUTOLOAD ENTRY POINT 

GO AGAIN 



R3.S$YCMT(R0> 

#Sl2ATL.R4 

20$ 



•tft* I ]\ ftttt 



•**t B 11 **•* 



ALALO MACRO MHOS 
SYMBOL TABLE 

ALALO 

CR « 01 

FF > OOOOU 

HT • 000011 

LF « 000012 



. ABS. OOOOQO 000 
000132 001 
ERRORS DETECTED: 



U-DEC-77 09:AA PAGE 2-2 



Rt$11N* 000000 
SPA « OOOOAO 
SV»ATR« •*♦*♦♦ GX 
SY$1ND« *♦♦♦** GX 
SV$REL« ♦♦♦♦♦♦ GX 



S$6ATL= ••»••• 6X 

S$6AUT» *♦♦••• GX 

S$VCMT= •*•*•* GX 

SlYFLGo **••♦* GX 

SIYVAL= *♦♦♦♦♦ GX 



SSZATL" •♦**♦• GX 
VT = 000013 
SALAIO OOOCOORG 
$CR5EG= ♦*•••* GX 
ICVRL « **•»*• GX 



SNUMSGs •*••*♦ GX 
fPCTRLs ****** GX 
$SAVRG= ****** GX 
$WRMPG= ****** GX 
$$ = 000001 



VIRTUAL MEMORY USED: 670 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:07 

C31 .20]ALALO,t31 .303ALALO/-SP-C31 ,10]MACFLM,ALALO 
•' IL 



•••• c 11 **** 



**«t* c 11 **** 




••*• 11 ••** 



•••• D 11 *•** 



ALBLK MACRO Ml 108 U-DEC-77 09:AA PAGE 2 



.TITLE ALBLK 
.lOENT /03/ 



COPYRIGHT 1973, DIGITAL EQUIPMENT CORP., MAVNARD, MASS. 
COPYRIGHT 197A, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 03 

D. N. CUTLER/C. MONIA 0A-MAR-7A 

**-tALBLK-ALLOCArE BLOCK 

THIS ROUTINE IS CALLED TO ALLOCATE A BLOCK OF STORAGE FROM THE FREE 
STORAGE POOL. IF THE BLOCK CANNOT BE ALLOCATED. THEN A FATAL ERROR 
MESSAGE IS ISSUED. ELSE THE BLOCK IS ALLOCATED AND ZEROED AND THE 
ADDRESS IS RETURNED TO THE CALLER. 

INPUTS: 

RI'SIZE OF BLOCK TO ALLOCATE IN BYTES. 

; OUTPUTS: 

; RO-ADDRESS OF ALLOCATED BLOCK. 



»*NEW** 

:*«NEW*' 

;**NEW*« 

;•♦««** 

;**NEW»« 

[♦♦NEW** 

[♦♦NEW^' 

[♦♦NEW** 

[♦♦NEW^< 

[♦♦NEW^< 

[♦♦NEW^* 

[♦♦NEW** 

[♦♦NEW** 

[**NEW** 

[♦*NEW** 

[**NEW** 

[**NEW** 

»*NEW** 

[**NEW^* 

[♦♦NEW^* 

[♦♦-13 



AO 000000 
A1 000000 
A2 00000? 
AS 



0t01A6 



tALBLK:: 



012701 
OOOG 




OOOOOOG 



OOOG 



OOOi 
0001 



000001 



lOli 



20S: 



MOV 

CALL 

BCC 

MOV 

MOV 

.BYTE 

CALL 

MOV 

ADD 

Bit 

ASR 

MOV 

CLR 

soe 

RETURN 
.END 



RI.-(SP) 

IGTCOR 

10$ 

«SFRHD,R? 

(PC)«,R1 

EMA.SIV2 

SERMSG 

(SP)»,R1 

mj.Ri 

#3.Rl 

R1 

R0.R2 

(R?)» 

R1.20I 



; 



SAVE SIZE OF BLOCK 
REQUEST A BLOCK OF STORAGE 
IF CC GOT IT 

GET ADuRESS OF FREE POOL HEADER 
GET ERROR/SEVERITY 

ISSUE FATAL ERROR (NO RETURN) 
RETRIEVE SIZE OF BLOCK 
ROUND TO NEXT 2 WORD BOUNDRY 
CLEAR EXECSS BITS 
COt«VERT TO WORDS 
COPY ADDRESS Qf BLOCK 
CLEAR BLOCK 
REPEAT 



I 



;^^NEW*^ 
,'♦♦•1 



••tft ( 11 ••** 



***• ^ }} **«* 



M.BU MACRO mice 

SYMBOL TABLE 

CR = 000015 
EtRA » *•♦♦•• GX 
FF = OOOOU 



ABS. 



U-DEC-77 09:AA PAGE 2-1 



HT « 000011 
LF « 000012 
R$$11M- 000000 



SPA = 0000*0 


SALBLK OOOOOORG 


$6TC0R= •*•*♦♦ GX 


S$V2 » *♦•♦♦* GX 


SERMSG" ♦♦*♦*• GX 


$$ = 000001 


VT = 000013 


SFRHD = ♦**••* GX 





000000 000 
000052 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 580 WORDS ( i PAGES) 
DYNAMIC MEMORY: 157A4 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:07 

C31 ,20]ALBLK.C31 .30]ALBLIC/-SP«r31 .103MACFLM.ALBLK 
X AK 



••*• f \y ••«« 



*•** F 11 *••« 




•*•* 8 11 tt** 



WWWW II I I wwww 



ALELO MACRO «1108 U-OEC-77 09:AA PAGE 3 



11 ^^ 

It m mi 



U7Q\ 0000020 
0000000 



701 000000 
M 012701 0000000 



.TITLE ALELD 
.IDENT /05/ 



COPYRIGHT 1973, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 
COPYRIGHT 197A. DIGITAL EQUIPMENT CORP.. MAYNARD, M;.SS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 05 

; D. N. CUTLER/C. MONIA 03-FEB-74 
♦ 
•*-tALELD-ALLOCATE ELEMENT DESCRIPTOR 
**-IALELO-ALLOCATE ELEMENT DESCRIPTOM FOR OUTPUT FILE 
**-tALELl -ALLOCATE ELEMENT DESCRIPTOR WITH ADDITIONAL WORD 

THIS ROUTINE IS CALLED TO ALLOCATE AND INITIALIZE AN ELEMENT DE- 
SCRIPTOR. IT IS A MONITOR DEPENDENT ROUTINE SINCE IT MUST KNOW 
THE FORMAT OF THE NAME STRING. THE DESCRIPTOR STORAGE IS ALLOCATED 
AND THE NAME STRING INFORMATION IS TAKEN FROM THE SINPPT RECORD 
BLOCK. 



INPUTS! 

tINlPT RECORD BLOCK 

OUTPUTSj 

AN ELEMENT DESCRIPTOR IS ALLOCATED AND INITIALIZED. 
RO-REAL ADDRESS OF ELEMENT DESCRIPTOR 
R1>VIRTUAL ADDRESS OF ELEMENT DESCRIPTOR 



lALELliiMOV 

CALL 
ADD 

lALlLOii 

MOV 



IF tALELO IS CALLED THEN THE DIRECTORY l/D 

1$ SAVED INSTEAD OF THE FILE ID (IE. A PREVIOUS 

CALL TO .PARSE IS ASSUMED) AND EILNUM IS SET TO 



•2. 



«ElLLGHt?.R1 

aleldT 

fEtLLGH.RI 

ALEL 

fN.FlD.RI 

ALELOl 

«ElLlGH,R1 



GET LENGTH OF DESCRIPTOR PLUS 2 

GET LENGTH OF ELEMENT DESCRIPTOR 

ALLOCATE DESCRIPTOR AND SETUP FILENAME 
POINT TO FILE l/D 
SETUP l/D 

SETUP DESCRIPTOR LENGTH 



;**NEW*« 



;**NEW«* 
;**-1 



.•♦♦NEW** 
;**-1 



;*«NEW** 
;**-1 



;**NEW^» 
{♦♦NEW^* 
;^*-1 
[♦♦NEW^* 

[♦•NEW** 
[♦♦-I 



•••t 



ITTT 



•••• 



ALELO HACRO mi08 U-OEC-77 09:AA PAGE 5-1 



WWWW ff I I wwww 



9 



9 0000m 00S360 OOOOOOG 

9999^<> <^^^o^ <)^^^^ 

62 OOOOAA 012122 

012122 

012122 



ALEL01 : 




CALL 

DEC 

ADD 

MOV 
MOV 
MOV 
RETURN 



ALEL 

EtLNUM(RO) 

«N.DID.R1 

(R1)*.(R2)» 
(R1)».(R2)* 
(R1)»,(R2)t 



ALLOCATE DESCRIPTOR AND SETUP FILENAME 
SET HIGHEST SECTION NUMBER TO -2 
POINT TO DIRECTORY I/D 

STORE I/D 



;**NEW** 
;**-1 



72 000054 
75 00005A 
7A 000060 
75 000062 

76 
77 

78 000076 

79 000104 

!0 000110 
1 000112 
2 000116 
5 000122 




!§? 



15 0001 S2 
, 000156 
17 Q00U2 
000U6 
000152 
000154 
91 000156 



SETUP ELEMENT DESCRIPTOR (LESS I/D). 
LEAVE R2 POINTING TO SPACE FOR I/D. 



ALEL: 



011646 

010166 000002 

016701 OOOOOOG 

005560 OOOOOOG 

016160 OOOOOOG OOOOOOG 

062701 000102 
010002 

062702 OOOOOOG 
016122 000054 
016122 000052 
016122 000006 



016122 000010 

016122 000012 

016122 000014 

016122 000016 

012601 



000001 



CALL 

MOV 

MOV 

MOV 

DEC 

MOV 

ADD 

MOV 

ADD 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

CALL 

MOV 

RETURN 

.END 



SALVRT 

(SP).-<SP) 

R1.2(SP) 

IINIPT.R1 

EILNUM(RO) 

RISWTH(R1),E»LSWT 

fF.FNB.R1 

R0.R2 

«EiLMND,R2 

N.UNir(R1).(R2)' 

N.DVNM(R1).(R2)t 

N.FNM<I(R1),(R2)«, 

N.FNAM«2(R1).(R2> 

N.FNAMU(R1),(R2) 

N.FTyP<R1),(R2)»; 

N.FVER(R1),(R2>t: 

»(SP)» 

(SP)*.R1 ; 



ALLOCATE VIRTUAL MEMORY 

COPY RETURN ADDRESS 

SAVE VIRTUAL ADDRESS 

GET INPUT FILE RECORD BLOCK 
SET HIGHEST SECTION NUM TO -1 
(RO); STORE SWITCH WORD 
POINT TO FILE NAME BLOCK 
COPY ADDR OF ELEMENT BLOCK 
CALCULATE ADDR MONITOR INFO 
:>rORE UNIT NUMBER 
STORE DEVICE NAME 
STORE FILE NAME 
♦; 

sloRE FILE TYPE 
STORE FILE VERSION 

CALL THE CALLER 

RESTORE VIRTUAL ADDRESS 



;**NEW** 
.'••NEW** 
.'••NEW** 
;.-1 



.•♦*NEW*» 
;»»NEW»* 



•••• I t1 •••• 




ALELD MACRO Ml 108 
SYMBOL TABLE 



ALEL 
ALELD1 
ALEL01 
B.BBFS- 

B.arsT- 

B.NXBO- 

B.VBN « 

CH.AND> 

CN 

EtLLGH- 

EtLPMD- 

EtLNUM- 

EILSWT- 

FA.APO- 

FA.CRE- 

FA.DLK- 

FA.ENB- 

FA.EXC- 

fA.EKT" 

FA.NSP> 

FA.ros- 

FA.M> • 
FA.MP- 
FA.SEO- 

FA.SNR- 
FA.TM^« 
FA.WCK> 
FA.WRT- 
FD.BLK* 
FD.CCL- 
FD.CGM- 



000100 
000010 
001000 

u 




000100 
010000 
000001 

004000 
040000 

?0 




000010 
000002 

020000 



W160 001 

ERWMS DETECTED: 




U-DEC-77 09:44 PAGE 3-2 



FD.CR « 
FD.DIR- 
FD.FTN« 
FD.F11- 
FD.INS- 
FO.ISP" 
FD.MNT> 
FD.OSP- 
FD.PLC- 
FD.PRN- 
FD.PSE- 
FD.RAN- 
FD.RAN- 
FD.NEC- 
FD.RUP*- 
FD.SDI> 
FD.SQO' 
FD.TTV- 
FD.UBN> 
FF 

FF. CHU- 
FF .NV ■ 
FF.POE" 
FF.RWD- 
FF. RVF* 
FF.SPC- 
FO.APO- 
FO.MFY" 
FO.RD » 
FO.UPO" 
FO.yRT> 



OK 

000001 

000002 

000001 

000001 

000020 

000040 

000004 

000002 

000014 

000005 

ooccos 

000<02 
000001 



000106 
000002 
000001 
000006 
000016 



F.ACTL 

F .ALOC 

F.BBFS 

F.BD6 

F.BGBC 

F.BKDN« 

F.BKDS 

F.BKEF 

F.BKP1 

F.BKST 

F.BKVB 

F.CHR 

F.CNTG 

F.DFNB* 

F.DSPT 

F.DVt#l> 

F.EFBK 

F.EFN 

F.EOBB 

F.ERR 

F.FACC 

F.FFBY 

F.FNMI- 

F.FNB 

F.FTYP 

F.F VER 

F.NIBK 

F.LUN 

F.MBCT 

F.MBC1 

F.MBFG 




VIRTUAL MEMORY USED: 2163 WORDS ( 9 PAGES) 
DVMAMIC MEMORY: 1)744 WORDS ( 60 PAGES) 

APSED TIME: 00:00:16 

1,20]AlfLO.r31,503ALEn/-SP»[31,10)MACFLM.FCSPR. ALELD 




170 
000057 
)26 

.. JO 
000051 
000024 
000064 
000075 
000034 
000046 
000044 
000134 
000010 
000050 
000032 
000052 
000043 
000014 
000110 
000102 
000116 
000120 
000004 
000042 
00C.54 
00005) 
0000)6 



F.NRBD 

F.NREC 

F .OVBS 

F.RACC 

F.RATT 

F.RCNM 

F.RCTL 

F.RSIZ 

F.RTYP 

F.SEQN 

F.SPDV 

F.SPUN 

F.STBK 

F.UNIT 

F.URBO 

F.VBM 

F.VBS7 

MT 

LF 

NB.DEV 

NB.DIR 

NB.NAM 

NB.S01 

NB.SD2 

NB.SNM 

NB.STP 

NB.SVR 

NB.TYP 

NB.VER 

N.DID 

N.DVNM 



000024 
000030 
000030 
000016 
000001 
000034 
0Q0Q17 
000002 
000000 
000100 
000072 
000074 
000036 
000136 
000020 
000064 
000060 
000011 
000012 
000200 
000100 
000004 
000400 
001000 
000040 
000020 
000010 
000002 
000001 

r24 
52 



N.FID • 


- 000000 


N.FNAM* 000006 
N.F TYP« OOOOU 


N.FVER' 
N.NEXT' 


:ffil 


N.STAf' 


. 000020 


N.UNIT' 


' 000034 


RtSWTH' 


I ^t**** GX 


RSt11M« 000000 


R.FIX ' 


. 000001 


R.SEQ ' 


. 000003 


R.VAR > 


, 000002 


SPA > 


. 000040 


S.BFHD< 


. 000020 


S.FATT- 


' 000016 


S.FDB • 


' 000140 


S.FNAM* 


> 000006 


S.FNB ' 


> 000036 


S.FNBW' 


■ 000017 


S.FNTY« 


> 000004 


S.FTYP. 


000002 


S.NFEN> 


000020 


VT 


000013 


lALELD 


000006RG 


lALELO 


000024RG 


IALEL1 


OOOOOORG 


•ALVRT« 


•••••• GX 


IINIPT. 


*•♦••• GX 


It 


000001 


...GBL> 


000000 


...TPC« 


000140 






•••• J 11 *••« 




•••* K t1 •••• 



ALSGO MACRO Ml 108 U-OEC-77 09:«A PACE 2 



10 
11 
12 
13 
U 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
9 




OOOOOOC 
OOOOOOC 000002 



OOOOOOC. 
OOOOOOC 



.TITLE ALS60 
.lOENT /66/ 



COPYRIGHT 1975, DIGITAL EQUIPMENT CORP.. NAVNARD. MASS. 
COPYRIGHT 1976. DIGITAL EQUIPMENT CORP.. MAVNARD. MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 06 

D. N. CUTLER/C. MONIA U-MAR-74. 

MODIFICATIONS: 



.•••-1 



;«»-1 



NO. 



038 
048 



DATE 



22-MAR-75 

11-»EB-76 



PROGRAMMER 



C. MONM 
C. MONIA 



J* 

; **-lALSGD-ALLOCATE SEGMENT DESCRIPTOR 

; 

THIS ROUTINE IS CALLED TO ALLOCATE A SEGMENT DESCRIPTOR IN VIRTUAL 
MEMORY. STORAGE IS ALLOCATED AND THE DCiCRlPTOR IS INITIALIZED. 



INPUTS: 



NONE 



OUTPUTS: 



RO'REAL ADDRESS OF DESCRIPTOR 
R1«VIRTUAL ADDRESS OF DESCKiPTOR 
SEGMENT COUNT IS INCRFNENTED. 



ULSGD: 



MOV 
CALL 

CALl 

MOV 

MOVB 



fSI/SEQ.RI 

KL6LK 
SCT.2(R0) 
RO.-(SP) 
«SiGLGH,R1 
ULVRT 



;GET SIZE OF SEQUENCE LIST ENTRY 
; ALLOCATE STORAGE 

; SET ADDRESS OF ABS SECTION ENTRY 
jSAVF ADDRESS FOFi lATFR 
.'GET Sia OF SFOMENT DESCRIPTOR 
AUOCATE Vint lAi MEMORY 



.••NEW" 
.'•♦-1 



#llHCNT-1.SIG8TBlROVP»J38^ill '*\sTHEAD COUNT FOR SYMBOLS 
«<$GtDES!$GilSEN>.StGSh(RO) ; SE1 ! 



STATUS 



t«t* L 11 •••• 



ALSGO MACRO MHOS U-OEC-77 09:A« PAGE 2-1 



58 000(K4 

59 000050 

60 000054 

61 000060 

62 000066 

63 000070 
6A 000074 

65 000100 

66 000104 

67 000110 

68 0001U 
69 

70 



010160 OOOOOOG 

010160 OOOOOOG 

010160 000002G 

062760 OOOOOOC 000002G 
010002 

062702 OOOOOOG 

010262 000002 

011660 OOOOOOG 

012660 000002G 

005267 OOOOOOG 



000001 




RI.StGNXT(RO) ; SET VIRTUAL ADDRESS CF NEXT 

R1,StGPRV(R0) : SET VIRTUAL ADDRESS CF PREVIOUS 

R1.StGELTt2(R0) ; SETUP ELEMENT LISTHEAD 

f<SSGELT/2>.SIGELT»2(R0) ; LAST POINTS TO FIRST INITALLY 

R0.R2 .-COPY ADDRESS OF BLOCK 

«SiGATL,R2 .'POINT TO AUTOLOAD LIST 

R2.2{R2) .-LAST POINTS TO FIRST 

(SP),S$GSEQ(RO) : INITIALIZE SEQUENCE ALLOCATION LISTHEAD 

(SP)«.SSGSEQ«2(R0); 

SNUMSG .'INCREMENT NUMBER OF SEGMENTS 



;**-8 



.END 



•••• N t1 *•** 



ALSGO MACRO Ml 108 
SYMBOL TABLE 

CR > 000015 
9f « OOOOU 
HT « 000011 
LF - 000012 
L%HCNT» ♦♦•••♦ GX 



U-DEC-77 09:AA PAGE 2-2 



RSS11M> 000000 
SGIDESe •>••♦♦ GX 
SG»MEM« ••♦•♦• GX 
SPA « 000040 
SS6ATL« *•♦♦♦• GX 



SSGELT= •*•♦*» GX 

SIGLGHs •••♦*♦ GX 

S$GNXT» •••♦•♦ GX 

StGPRV= •••♦♦* GX 

S$GSEQ« •♦*»♦* GX 



S»GSTB» ♦♦♦•*• GX 
SIGSTSb *•*♦** GX. 
SSZSFQs ♦**•♦• GX 

VT = 000013 
$ALBLIC= **••♦♦ GX 



SALSGD OOOOOORG 
$AIVRT= *♦••♦♦ GX 
SASCT » •♦•••* GX 
$NUMSG= ****** GX 
$t = 000001 



. ABS. 000000 000 

000116 001 

ERRORS DETECTED: 

VIRTUAL MEMORY USED: 660 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 157<.4 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:07 
C31 ,203ALSaO.C31 .30]ALSGD/-SP=C31 ,10]MACFLM.ALSGD 



•t«« N 11 *•*« 




•••• I 12 **** 



•**• B 12 **** 



ALSVB MACRO H1108 U-DEC-77 09:45 PAGE 2 



1 

2 

5 

4 

5 

6 

7 

8 

9 
10 
11 
12 
13 
H 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 

30 000000 
31 
32 
33 



r, 



36 000002 

37 

38 

39 
40 

41 

21 

44 
45 

t? 

48 
49 

U 



$4 
(5 



S 



.TITLE ALSVB 
.IDENT /01/ 



COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MAVNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSFBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 01 

C. MONIA 05-MAR-75 

ALLOCATE SMALL VIRTUAL CORE BLOCK 

LOCAL DATA 

OFFSET INTO CURRENT LARGE BLOCK 



; 

BLOFF: .BLKW 1 



} 



VIRTUAL ADDRESS OF CURRENT LARGE BLOCK 



BLVADi .BLKW 1 



**-IALSVB-ALLOCATE SMALL VIRTUAL CORE BLOCK 

THE PURPOSE OF THIS SUBROUTINE IS TO ALLOCATE SMALL BLOCKS OF 
VIRTUAL MEMORY WITHOUT EXCESSIVE FRAGMENTATION AND WAS.iD VIRTUAL 
ADDRESS SPACE WHEN HIGHLY DIVERGENT ALLOCATION SIZES AF;E ENCOUNTERED 

INPUTS) 

RI'SIZE OF BLOCK TO ALLOCATE IN BYTES 

THIS ROUTINE MUST BE CALLED INITIALLY WITH A VALUE Of /EftO IN 
R1 TO FORCE THE ALLOCATION OF THE FMST LARGE BLOCK. THE SIZE MAY 
NOT EXCEED THE SIZE OF A LARGE 6L0LK 



OUTPUTS: 



RO-REAL ADDRESS OF BLOCK 
R1-VIRTUAL ADDRESS OF BLOCK 



***• 



TIT 



•««* 



•*** C 12 **** 



AL5VB MACRO Ml 108 1A-DEC-77 09:A5 PAGE 2-1 



71 

72 OOOOOA 

73 OOOOOA 

74 000006 

75 000010 

76 000012 

77 000016 

78 000020 

79 000024 

80 000026 

81 000032 

82 000036 

83 000042 

84 000044 

85 000050 

86 000054 

87 000056 

88 000056 
•9 000062 

90 000066 

91 000072 

92 000076 

93 000104 

94 000104 



U 



PAGE CONTAINING BLOCK IS WRITE-MARKED 



R3 - R5 ARE PRESERVED 



THE ROUTINE INITIALLY ALLOCATES A BLOCK OF SIZE NSDLGH, PERFORMS 
THE SUB-ALLOCATION THEN RETURNS CONTROL TO THE CALLER. SUBSE- 
QUENT CALLS CAUSE ADDITIONAL BLOCKS TO BE ALLOCATED UNTIL 
SPACE WITHIN THE LARGE BLOCK IS EXHAUSTED. A NEW LARGE BLOCK 
IS THEN ALLOCATED. 



005201 
006201 
001422 
016702 
060102 
020227 
101014 
010267 
016700 
060167 
010001 



000413 

010167 
012701 

010167 
066767 



000001 



SALSVB: 



177762 

OOOOOOC 

177746 
177744 
177740 



177716 
OOOOOOG 

177704 
177676 



1 77676 



10S: 



20S! 



INC 

ASR 

BEQ 

MOV 

ADD 

CMP 

BHI 

MOV 

MOV 

ADD 

MOV 

CALL 

CALL 

BR 

MOV 

MOV 

CALL 

MOV 

ADD 

RETURN 

.END 



R1 

R1 

10$ 

BLCFF.R2 

R1,R2 

R2.#NSDLGH/2 

10S 

R2,BL0FF 

BLVAD.RO 

R1 ,BLVAD 

R0.R1 

tCVRL 

tWRMPG 

20t 

R1.BL0FF 
«NiDLGH,R1 
lALVRT 
R1 ,BLVAD 
BLOFF.BLVAD 



ROUND BLOCK SIZE TO WORD BOUNDARY 

CONVERT TO WORDS 

IF EQ, FIRST CALL 

GET CURRENT OFFSET INTO BLOCK 

UPDATE CURRENT OFFSET 

ALLOCATION EXCEED REMAINING SPACE? 

IF HI YES 

SAVE OFFSET INTO BLOCK 

GET VIRTUAL BLOCK ADDRESS 

UPDATE VIRTUAL ADDRESS 

SET ADDRESS 

CONVERT TO REAL 

WRITE-MARK PAGE 



SET BLOCK OFFSET 

GET SIZE OF LARGE BLOCK 

ALLOCATE VIRTUAL MEMORY 

SAVE VIRTUAL ADDRESS 

POINT TO NEXT FREE VIRTUAL ADDRESS 



•*•• D 12 ••** 



*••• D 12 *♦♦♦ 



ALSVB MACRO M1108 
SYMBOL TABLE 

BLOFF OOOOOOR 
BLVAD 000002R 
CR « 000015 



U-DEC-77 09:45 PAGE 2-2 



FF = OOOOU 
HT = 000011 
LF = 000012 



N$DLGH= •♦**»♦ GX 
RSS11M= 000000 
SPA - 000040 



VT s 000013 
$ ALSVB 000004R6 
$ALVRT= •♦••** GX 



SCVRL = ****♦♦ GX 
$WRMPG= *♦♦••* GX 

« = 000001 



. ABS. 000000 000 
000106 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 590 WORDS ( 5 PAGES) 
DYNAMIC MEMORY: 157A4 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:07 

C31 ,203ALSVB,C31 .30]ALSVB/-SP=C31 .10DMACFLM, ALSVB 
6 As 



**•• I 12 *••• 



**** E 12 **** 




**•* f )i •««• 



•«•* f 12 **** 



ALVRT MACRO Ml 108 U-DEC-77 09: A5 PAGE 2 



WW 




.TITLE 
. I DENT 



ALVRT 
/04/ 



.•♦«-1 



; 
;♦ 



COPYRIGHT (C) 1976 

DIGITAL EQUIPMENT CORPORATION. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DcC. 

VERSION 02 

C. MONIA 22-FEB-74 

ALLOCATE VIRTUAL STORAGE 

•♦-lALVRT-ALLOCATE VIRTUAL MEMORY 

INPUTS: 

R1-NUMBER OF BYTES TO ALLOCATE 

OUTPUTS: 

RO-REAL ADDRESS OF ALLOCATION 
R1 -VIRTUAL ADDRESS OF ALLOCATION 

THE SPECIFIED PAGE IS WRITE-MARKED 

THIS ROUTINE IS CALLED TO ALLOCATE VIRTUAL MEMORY AND MAKE 
THE ALLOCATED SPACE RESIDENT IN CORE. THE AMOUNT OF SPACE 
\0 BE ALLOCATED IS ROUNDED TO THE NEAREST WORD 



;**NEW** 

;*«-1 



lALVRTi! 



SAVRG 

CALL 

BCS 

MOV 

SWAB 
TSTB 



SRQVCB 

r 

R1 



(OS 



SAVE NON-VOLATILE REGISTERS 
REQUEST VIRTUAL CORE BLOCK 
IF C/S NO VIRTUAL SPACE LEFT 
SAVE VIRTUAL ADDRESS 
PUT RELATIVE RLOCK IN LOW BYTE 
IS REQUEST ON BLOCK BOUNDRY? 



•*•• I ]i ••«• 



ALVRT MACRO Ml 108 U-DEC-77 09: A5 PAGE 2-1 



•••• Q ^£ tttt 



60 
61 
62 



58 000020 

59 000022 

§i!88!t 

„ 000036 
63 000040 
(A 0O0OA2 

65 00004A 

66 000046 

67 000050 

68 000052 

69 000052 

70 000060 

71 00006A 

72 000070 

73 000072 

74 00007A 

75 00007A 

76 000100 

77 000100 

78 000104 

79 000104 

80 000110 
000112 



8 



001025 

012701 OOOOOOG 

016702 OOOOOOG 

001405 

005001 

150501 

006301 

060102 

010012 

016760 OOOOOOG OOOOOOG 
010067 OOOOOOG 
110560 OOOOOOG 
010501 
000301 



012701 OOOOOOC 
005002 





BNE 


20$ ; 




MOV 


#PtGSlZ,Rl ; 




CALL 


SALBLK ; 




MOV 


SPAGLS,R2 ; 




BEQ 


10$ ; 




CLR 


R1 




BISB 


R5.R1 




ASL 


R1 




ADD 


R1 ,R2 




MOV 


R0.(R2) ; 


101: 


MOV 


SPAGHD.PSGNXT(ROl 




MOV 


R0.SPA6HD 




MOVB 


R5,PSGBLK(R0) ; 




MOV 


R5.R1 




SWAB 


R1 


20S: 








CALL 


tCVRL 


30S: 








CALLR 


tWRMPG 


40t: 








MOV 


«<SSV2*400!E$R76> 




CLR 


R2 




CALL 


SERMS6 



IF NE NO. BLOCK ALREADY EXISTS 
CREATE A PAGE BUFFER 
ALIOCATE STORAGE SPACE 
GET ADDRESS OF PAGE LIST 
IF EO NONE 

SET FOR MOVB WITHOUT EXTEND 
GET RELATIVE BLOCK NUMBER 
CONVERT TO WORD OFFSET 
COMPUTE ADDRESS IN LIST 
STORE ADDRESS 

; LINK OLD FIRST TO NEW FIRST 
SET NEW FIRST 

SET RELATIVE BLOCK NUMBER OF PAGE 
RESTORE SWAPPED VIRTUAL ADDRESS 
STRAIGHTEN IT 

CONVERT TO REAL ADDRESS 

WRITE-MARK PAGE 

.R1 ; GET ERROR/SEVERITY 
SET DUMMY PARAMETER BLOCK ADDRESS 
FATAL-NO RETURN 



!**NEW** 
;**NEW»* 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
r**N£W«* 
;**NEW** 



000001 



.END 



•••• 



T\T 



**t« 



•••« H le •••• 



ALVRT MACRO MHOS 
SVI«OL TABLE 



CR 

ESR76 

FF 

HT 

LF 



000015 
****** 

oooou 

000011 
000012 



GX 



U-DEC-77 09:A5 PAGE 2-2 



P$GBLK» ••*••• 6X 
PIGNXT* •♦•*•• GX 
P»GS1Z= •*•*•• GX 
R$»1in« 000000 
SPA « COOOAO 



SIV2 = •***•♦ GX 
VT = 000013 
lALBLKs •••••• GX 

SALVRT OOOOOORG 



$CVRL « •♦•••• GX 
tERMSG< ***••* GX 
$PAGHO= *••••♦ GX 
IPAGLS* •♦•••* GX 



SRQVCBa ****** GX 
$SAVR6» ****** GX 
»WRMPG« ****** GX 
SS < 000001 



. ABS. 000000 000 
000116 001 
ERRORS DETECTED: 

VIRTUAL mmHI USED: 655 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 1574A WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:07 
C31.20]ALVRT,t51.303ALVRT/-SP«C31.10]MACFLM.ALVRT 



•**• I 12 **•• 



**** I 1c **** 




•••• J }} •••• 



BCNTL MACRO mi08 U-DEC-77 09:«5 PACE 2 



9 
10 

11 

;i 

u 

15 
16 
17 

IJ 

20 
21 

II 

26 
?? 




05276* 
001005 

000402 



000167 
000001 



OOOOOOC 



.TITLE 
.IDENT 



BCNTL 
/01/ 



COPVRIGHT 1974. DIGITAL EQUIPMENT CORP.. MAYNARD. MASS. 

THIS SOf TVARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN yRITINC BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

C. MONIA 17-JAN-74 

VERSION 01 

INVOKE ROUTINES TO GENERATE SEGMENT DESCRIPTORS 

► 
**-MCNTL-CALL ROUTINES TO GENERATE SEGMENTS 

INPUTS: 

Ml UTILTIY FDB POINTER SETUP WHH DEFAULT NAME BLOCK FOR 
INPUT FILE 

OUTP'JTS: 

NONE. 



OOOOOOC OOOOOOC 



i 
I 
I 
I 

i 
t 

iBCNTL 



THIS ROUTINE IS ENTERED VIA JMP AND RETURNS CONTROL 
TO IBLDSF (BLDSG) ON COMPLETION. 

THE CONTENTS OF R5-R5 ARE PRESERVED 



1 1 



MS I 

soil 



BIT 
BNC 
CALL 
BR 

CALL 

.IMP 

.END 



«SWSMP.RtSWTH( 

201 

iSNGSG 

m 

IMULSQ 
SBLDSF 



R4) : 'W SWITCH SPECIFIED? 
IF NE YES 
CREATE SINGLE SEGMENT DESCRIPTION 

CREATE MULTI-SEGMENT DESCRIPTION 
{EXIT 



•«*• 



TIT 



••*• 



BCNTL MACRO MHOS 
SYMBOL TABLE 



CR 
FF 



« 000015 
> 00001A 
« 000011 



U-OEC-77 09:45 PAGE 2-1 



LF « 000012 SPA 
R»SWTH« •••••• GK SW$«P 

Rtt11N« 000000 VT 



000040 
000013 



S8CNTL OOOOOORG 
IBLOSF^ •••••• GX 



$SNGSG» •*•••♦ GX 
St s 000001 



. ABS. 000000 000 
000026 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 580 WORDS ( S PAGES) 
DYNAMIC MEMORY: 157A4 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:06 

C31.203BCNTL.C31.303BCNTL/-SP*C31,10]MACFLM,BCNTL 
d M 



***• I t2 **•• 




***• N 12 **** 



BLDSG MACRO Ml 108 U-DEC-77 09:A5 PAGE 3 



10 
11 
12 
13 
U 
15 
16 
17 
18 
19 
20 
21 
22 
23 
2A 
25 
26 
2? 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 

t\ 

44 
45 
46 
47 
48 
49 000000 



j^ 000000 

57 000004 01?6?6 



.TITLE BLDSG 
.IDENT /16/ 



COPYRIGHT (C) 1976 
COPYRIGHT (C) 1977 
DIGITAL EQUIPMENT CORPORATION. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT OE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



;**-1 



VERSION 


16 














•*-1 


D. N. CUTLER/C. MONIA 16-JAN- 


■74 










MODIFICATIONS 
NO. 


DATE 


PROGRAMMER 










•••NEW** 
**NEW«* 
**NEW** 
••NEW** 


036 

§n 

059 
066 

JAK099 
JAK110 




10-JAN-75 
21-JAN-76 
27-MAR-76 
08-APR-76 
31-JUL-76 
23-MAY-77 
3-OCT-77 


C. MONIA 
C. MONIA 
C. MONIA 
C. MONIA 
C. MONIA 
; MAKE LB: 
; IMPROVE 


THE LIBRARY 
OUTPUT FILE 


DEFAULT DEVICE 
HANDLING 


••NEW** 
••NEW** 



MONITOR DEPENDENT ROUTINE TO BUILD SEGMENT DESCRIPTION 
MACRO LIBRARY CALLS 



.MrALL GLUNtS 
.MCALL CSII 
CSII 



; LOCAL DATA 

; 



;JAKnO 



IMRFLGii.BLKW 



fSCANRii.BLKW 
MiXt .RAD50 /CRF/ 



.'MORE INPUT rilES TlAG 
.■ADDRESS OF SCANNING ROUTINE 
,•♦♦036 CREF FILE FXTFNMON 



*•** 



Nir 



•*«• 



BLDS6 MACRO mi08 U-OEC-77 09:^5 PAGE 3-1 



00002 



58 
59 
60 
61 
62 
63 
64 

66 

f, 

67 
68 

% 

71 

'4 

74 
75 
76 
77 
78 
79 



mi 

000016 
000020 
099922 
000024 

000031 
056 
112 

OOOOAO 



000046 
000050 
000052 



89 
90 
91 000054 

00 '^ 



94 
95 



000002 
000022' 
000005 
000024* 
000007 
000031* 
11< 



102 
061 

104 
102 



ODTDS: .WORD ODTDR-ODTDV 

.WORD ODTDV 

.WORD ODTFN-ODTDR 

.WORD ODTDR 

.WORD ODTFE-ODTFN 

.WORD ODTFN 

ODTDV: .ASCII /LB/ 

054 ODTDR: .ASCII /CI, 13/ 

124 ODTPNi .ASCII /ODT.OBJ/ 





ODTFE: 



DEVICE DESCRIPTOR 

DIRFCTORY DESCRIPTOR 

FILENAME DESCRIPTOR 

DEVICE 
DIRECTORY 

FILENAME 
:Hf LAIEL 



;JW099 
;**-1 



.EVEN 



; CSI SWITCH BLOCK POINTERS 
i 



SWPTi 



; 



.WORD tTSKSW 
.WORD MAPSW 
.WORD tSTBSW 



; FILE SWITCH VALUE POiNTERS 



SWTii 



.WORD TSIKF 
.WORD NAIPF 
.WORD STI8F 



; TASK FILE 
; MAP FILE 
; STB FILE 



; TASK FIL' SPECIFIED 

; MAP FILE PECIFIED 

; SYMBOL TAbLE FILE SPECIFIED 



OUTPUT FILE NAMEBLOCK VECTORS (REAL) - ADJACENCY ASSUMED 



; 

rSKNMi .BLKW 1 

NAPNMi .BLKW 1 

STBNMi .BLKW 1 



; TASK FILE 
i MAP FILE 
; STB FILE 



; ••.IBLDSG-BUILD SEGMENT DESCRIPTION 

; THIS ROUTINE IS CALLED TO CREATE THE SEGMENT DESCRIPTION FOR THE 

; TASK THAT IS CURRENTLY BEING BUILT. A COMMAND INPUT LINE 1^ READ 

; AND THE OUTPUT FILE SPECIFICATIONS ARE INITIALI/ED, THE FIRST INPUT 

; FILE SPECIFICAriON IS OBTAINED AND PLACED IN THE OBJECT FILE RECORD 

; BLOCK. IF THE 'fV>'^ SWITCH IS SPECIFIED. THEN SMULSG IS CALLED TO 



INPUTSi 
OUTPUTS I 



*•»• I IS **••* 



ftftft* B 13 *•*• 



BLOSG MACRO Ml 108 U-DEC-77 09:45 PAGE 3-2 



121 
12! 



112 
113 
1H 
115 

116 0000*2 

117 000066 

118 000072 

119 000100 

120 000106 
000112 
000116 
000122 

124 000124 

125 000130 

126 000132 

127 000136 

128 0001 AO 

129 000U4 

130 000U6 

131 000154 

132 000162 

133 000166 

134 000166 

135 000174 

136 000200 

137 000204 

138 000206 

139 000212 

140 000216 

141 000216 

142 000220 

143 000224 

144 000226 

145 000230 



149 000244 



152 00025? 

153 000256 



160 doo! 

161 



SBLDSG: 



OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 
OOOOOOG 
OOOOOOG 



OOOOOOG 



016767 
056767 
016704 
012701 

010005 

103002 
000167 
010501 

103767 
016764 
012764 
012703 

016364 
005063 
C05063 
010400 
062700 
012701 

005020 

010501 
010400 

103406 

103403 



056367 000054' OOOOOOG 



OOOOOOG OOOOOOG 
OOOOOOG 000046 
U7772 

000046' OOOOOOG 

000006G 

000062* 



10S: 
151: 

20S: 



000102 
000017 



25t: 



016700 
001415 
162700 
100403 
020027 
101407 

012701 
010502 
062702 



OOO'^OOG 

000004 

OOOOOOG 

OOOOOOC 
000016 



SOS- 
351: 



3501: 



360t! 




NONE. 



:SAVRG 
CALL 



MOV 
CLR 
CLR 
MOV 
ADD 
MOV 

CLR 

SOB 

MOV 

MOV 

CALL 

8CS 

CALL 

BCS 

BIS 

MOV 
BEQ 
SUB 
BMJ 
CMP 
BLOS 

MOV 
MOV 
ADD 
CALL 

CALL 

CALL 

MOV 

MOV 

CMP 



SINITL 

SDFLBS.SLBSWT 

IDFMAP.SSWTCH 

S1NIPT,R4 

#TSMSIZ.R1 

SALBLK 

R0,R5 

IGTCML 

15$ 

SQUIT 

R5,R1 

SSVNTX 

10S 

tDFTSK,R$SWTH(R4) 

ftDFhe.F.DFNB(R4) 

#-6.R3 



SAVE NONVOLITILE REGISTERS 

INITIALIZE 

SET DEFAULT SYSTEM LIBRARY SWITCH WORD 
SET DEFAULT MAP FILE FORMAT SWITCHES 
GET FDB ADDRESS 

GET SIZE OF TEMP BUFFER NEEDED 

ALLOCATE TEMP BUFFER 

SAVE BUFFER ADDRESS 

GET NEXT COMMAND INPUT LINE 

IF CC CONTINUE 

LOGICAL EOF -QUIT NOW 

GET ADDRESS OF TEMP BUFFER 

ANALYZE SYNTAX OF LINE 

IF CS SYNTAX tRROR 
; SET DEFAULT TASK SWITCHES 
; SET DEFAULT NAME BLOCK POINTER 
SET LOOP COUNT *2 



SWPT*6(R3).RISWBK(R4) : POINT TO CSI SWITCH BLOCK 
$TSKWi(»6(R3) ; CLEAR NAME BLOCK POINTER 
TSKNM«6(R3) ; CLEAR REAL ADDRESS 
R4,R0 ; GET FDB ADDRESS 
#F.FNB.RO ; POINT TO FILE NAMF BLOCK 
#S.FNB/2.R1 ; SET SIZE OF BLOCK 



(RO)* 

R1,25S 

R5,R1 

R4,R0 

ISCANO 

35$ 

PARSE 

35$ 



; CLEAR NAMEBLOCK 

!- SET TEMP BUFFER ADDRESS 
; SET FDB ADDRESS 
; SCAN FOR OUTPUT FILE 
; IF C/S NO FILE 
;»«036 PARSE FILE NAME 
;**036 IF C/S ERROR 



SWTB»6(R3),$SWTCM ; SET FILE-PRESENT SWITCH 

fPRVAP.RO ; GET FIRST APR FOR PRIVILEGED TASK 

360$ ; IF EO OK 

*4.R0 ; SUBTRACT LOWER LIMIT 

350$ ; IF MI ERROR 

P0.#M$XAPR ; APR TOO BIG? 

W0$ ; IF LOS NO 

#<S$y2*400!E$R3>',R1 ; GET ERROR/SEVFRHY CODE 

55.R2 ; COPY ADDRESS OF CSI BLOCK 

ii:fJA^'^^ • OFFSET TO FILENAME DESCRIPTOR 

SERMSG ; REPORT FATAL ERROR 

JALELO ; ALLOCATE ELEMENT DESCRIPTOR FOR OUTPUT 

JUKPG ; LOCK PAGE IN MEMORY 

R0.TSKNM»6(R5) ; SAVE REAL ADDRESS OF NAMEBLOCK 

Rl,JTSKNM»6(R3) ; SAVE VIRTUAL ADDRESS OF NAMEBLOCK 

",M ,'♦♦056 PROCESSING MAP fILF? 



•Him C IS •••• 



•••• C 13 ♦♦•• 



BLDSG MACRO MHOS U-DEC-77 09:45 PAGE 3-3 



169 000336 

170 000340 

171 0003AA 

172 000350 

173 000352 

174 000356 

175 000362 

176 000366 
17? 000372 

178 000376 

179 000404 

180 000406 

181 000414 

182 000416 

183 000422 

184 000424 

185 000440 

186 000444 

187 000450 

188 000^54 

189 000456 

190 000456 

191 000464 

192 000472 

193 000500 

194 000506 

195 000512 

196 000516 

197 000520 

198 000522 

199 000526 

200 0U0530 

201 000536 

202 000540 

203 000540 

204 000544 

205 000550 

206 000554 

207 000560 

208 000564 

209 000570 

210 000574 
?11 000574 

k^ 

14 000612 



001135 
012700 
046700 
001130 
005067 
005067 
016446 
016400 
016046 
132764 
001024 
132764 
001420 
162706 
010600 

016000 
062706 
032700 
001447 

052767 
016467 
016467 
012764 
016400 
012701 
012120 
012120 

103004 
042767 
000427 

016701 

010167 



010067 
010167 

005064 
016764 

010167 

016400 
012660 
012664 



OOOOOOC 
OOOOOOG 

OOOOOOG 

OOOOOOG 

000046 

000044 

000002 

000041 000017 

000010 000017 

000014 



000004 
000014 
004000 



OOOOOOG OOOOOOG 
000134 OOOOOOG 
000136 OOOOOOG 
OOOOOOG 000046 
000044 
OOOOOOG 



361$: 




OOOOOOG OOOOOOG 

OOOOOOG 
OOOOOOG 

177266 
OOOOOOG 

000120 

177200 000116 

OOOOOOG 

000044 
000002 
000046 



371: 



40t: 



42t: 



QOG 

36 000046 

102 



177310 



43t! 



448 1 



BNE 

MOV 

BIC 

BNE 

CLR 

CLR 

MOV 

MOV 

MOV 

BITB 

BNE 

BITB 

BEQ 

SUB 

MOV 

GLUNSS 

MOV 

ADD 

BIT 

BEQ 

BIS 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

CALL 

BCC 

BIC 

BR 

MOV 

CALL 

MOV 

CALL 

CALL 

MOV 

MOV 

CLR 
MOV 
CALL 
MOV 

MOV 
MOV 
MOV 

CLR 
ADD 
ADD 
BGE 

JMP 



43$ : 

«<MA$PF!CR$EF>,RO 

$SWTCH,RO 

43$ 

tCRODV 

$CROUN 

F.DFNB(R4),-(SP) 

F.DSPT{R4),R0 

2(R0),-(SP) 

#<FD.SQD!FD.REC>, 

361$ 

*FD.DIR.F.RCTL(R4 

361$ 

#6»2.SP 

SP.RO 

F.LUN(R4),R0 

G.LUCy(RO),RO : 

#6*2. SP 

#FD.OSP.R0 

40$ 



♦♦036 IF N£ NO 

.•♦♦036 GET MAP, CREF FILE FLAGS 
♦♦036 TEST FLAGS 
♦♦036 IF NE NO CREF PRODUCED 
♦♦036 CLEAR CREF OUTPUT DEVICE 
♦♦036 CLEAR CREF OUTPUT UNIT 
••♦♦036 SAVE ADDRESS OF DEFAULT NAMEBLOCK 
♦♦036 GET ADDRESS OF DATASET POINTER 
♦♦036 SAVE ADDRESS OF STRING 
F.RCTL<R4) .-♦♦OSd SEQUENTIAL OR RECORD DEVICE 

) ; OR, IS IT NON-DIRECTORr: 
IF EQ YES 

ALLOCATE GLUN BUFFER ON STACK 
STORE ADDRESS IN R3 
GET LUN INFORMATION 
GET LUN CHARACTERISTICS WORD 
RESTORE STACK 
IS OUTPUT DEVICE SPOOLED? 
IF EQ NO 



#SP$OL.$SWTCH .•♦♦036 CANCEL REQUEST FOR SPOOLING 
F.FNB^N.DVNM(R4).$CR00V ;^^036 SAVE OUTPUT DEVICE 
F.FNB^N.UNIT(R4),$CR0UN .•♦♦036 SAVE OUTPUT UNIT 
f«MAPTM,F.DFNB(R4) ^♦♦036 SET ADDRESS OF TEMP MAP FILE NAMEBLOCK 
F.DSPT(R4),R0 ,•♦♦036 GET ADDRESS OF DATASET 
#$MAPTD.R1 .•♦♦036 GET ADDRESS OF TEMP DSPT 
(R1)^,(R0)+ .•♦♦036 SET DEVICE STRING LENGTH 
(RI)^.(RO)^ ;^^036 SET ADDRESS OF STRING 
PARSE ,•♦♦036 PARSE CREF TEMP FILE 

III .•♦♦036 IF C/C PARSE SUCCEEDED 

#CR$EF,$SWTCH ;^^036 RESET CREF SWITCH 
42$ .•♦♦036 

.'♦♦036 
JMAPNM.RI ;^^036 GET VIRTUAL ADDRESS OF MAP FILE 
$yNLPG .•♦♦036 UNLOCK PAGE 

R1,$MPF1L ;^^036 SAVE VIRTUAL ADDRESS OF REAL DESCRIPTOR 
$ALELO .•♦♦036 ALLOCATE AN ELEMENT DESCRIPTOR FOR OJTPUT 
$LC<P6 ,•♦♦056 LOCK DESCRIPTOR IN MEMORY 
RO.MAPNM .•♦♦036 SAVE REAL ADDRESS OF NEW DESCRIPTOR 
R1,$MAPNM ,•♦♦036 SAVE VIRTUAL ADDRESS 

;^^036 
♦♦036 FORCE NEW VERSION 



JAK1I0 
JAK110 
JAK110 
JAK110 
JAK110 
JAK110 
JAK110 
JAK110 
JAK110 
JAK110 
JAK110 
**-1 



F.FNB^N.FVE«(R4) ,..v^» ,«n« .«- »tn;,.«, 
CRFEX.F.FNB^N.FTYP(R4) ,•♦♦036 REPLACE WITH CREF EXTENSION 
$ALEL0 - - . 

R1,$CRFNM 

F.DSPT(R4),R0 

(SP)^,2(R0) 

(SP)^,F.0FNB(R4 



.•♦♦036 ALLOCATE DESCRIPTOR FOR CREF FILE 

;^^036 SAVE VIRTUAL ADDRESS OF DESCRIPTOR 

;^^036 

.•♦♦036 GET DATASET POINTER 



.•♦♦036 RESTORE ADDRESS OF STRING 
) .•♦♦036 



R$SWTH(R4) , 

irs.FNB.F.DFNB(R4) 

#.?.R5 

44i 

20$ 



. ^ RESTORE ADDRESS OF DFNB 
.•♦♦086 

INITIALIZE SWITCH WORD 

; POINT TO NEXT DEFAULT NAME BLOCK 

INCREMENT COUNT 

IF GE DONE 

GO AGAIN 



•*•• p IS **** 



»**• D 13 •♦♦♦ 



BLDSG MACRO Ml 108 U-DEC-77 09:A5 PAGE 3-A 



226 000656 

227 000662 

228 00066A 

229 000670 

230 000672 

231 000676 

232 00070? 

233 00070A 
23A 000710 

235 0007U 

236 000716 

237 000722 

238 000722 

239 000726 
2A0 000732 
2A1 000732 

242 000734 

243 000736 

244 000742 

245 000742 

246 000746 

247 000754 

248 000762 

249 000770 

a5o 



254 

255 000774 

256 001000 

257 001002 

258 001006 

259 001010 

260 001014 
61 001014 



fO 001020 
{71 001020 

^74 901 Q32 



016700 
001417 
016701 
001414 
012703 
016102 
040302 
050260 
016002 
040302 
050261 

012700 
012702 

012001 
001402 



177172 

177170 

OOOOOOC 
OOOOOOG 

OOOOOOG 
OOOOOOG 

OOOOOOG 

OOOOOOG 
000003 



45$: 
46S: 

47$: 



012764 OOOOOOG OOOOOOG 

016764 OOOOOOG OOOOOOG 

012767 OOOOOOG 177012 

005067 177004 



MOV 
BEQ 
MOV 
BEQ 
MOV 
MOV 
BIC 
BIS 
MOV 
BIC 
BIS 

MOV 
MOV 

MOV 
BEQ 
CALL 

SOB 

MOV 
MOV 
MOV 
CLR 



TSKNM.RO 

45$ 

STBNM.RI 

A5$ 

#*C<SW$PI!SW$NH> 

E$LSWT(R1)..12 

R3.R2 

R2,E$LSWT(R0) 

E$LSWT(R0),R2 

R3,R2 

R2.E$LSUT(R1) 

«$TSKNM,R0 
#3.R2 

(R0)+,R1 

47$ 

$UNLPG 



GET REAL ADDRESS OF TASK NAMEBLOCK 
IF EQ NONE 

GET REAL ADDRESS OF STB NAMEBLOCK 
IF EQ NONE 
R3 ; GET COMPLEMENT OF /PI, /NH FLAGS 
GET STB FILE SWITCH WOHl 
ISOLATE SWITCHES 
TRANSFER SWITCHES TO TASK FILE 
GET TASK FILE SWITCH WORD 
ISOLATE "/PI" SWITCH 
TRANSFER TO STB FILE 

GET POINTER TO V/A OF TASK NAMEBLOCK 
SET LOOP COUNT 

GET NAMEBLOCK VIRTUAL ADDRESS 
IF EQ NONE SPECIFIED 
UNLOCK PAGE 



R2.46$ ; REPEAT 
*$INPSW,R$SWBK(R4) ; SET ADDRESS OF INPUT SWITCH BLOCK 
$DFINP,R$SWTH(R4) ; SET DEFAULT INPUT FILE SWITCHES 
«$SCANI,$SCANR ; SET ADDRESS OF SCANNING ROUTINE 
$MRFLG ; CLEAR MORE FILES FLAG 



AT THIS POINT F.DFMB(R4) POINTS TO INPUT FILE 
DEFAULT NAME BLOCK 



103005 

012701 OOOOOOC 

005002 



000167 OOOOOOG 



50$: 



CALL $NXTFL 

BCC 50$ 

MOV #<S$V2*400!E$R2> 

CLR R2 

CALL $ERMSG 

JMP $BCNTL 



GET FIRST INPUT FILE 

R1 ; ASSUME NO INPUT FILES 
SET DUMMY PARAMETER BLOCK ADDRESS 
FATAL -NO RETURN 

BUILD SEGMENT DESCRIPTORS 



BUILD FILE NAME BLOCK FOR DEBUGGING AID AND SYSTEM LIBRARY FILES 



012700 
012701 
010502 



16446 
1W4i 




OOOOOOG 
OOOOOOG 



46 
44 
OOOOOG 



I 

/ 

$6LDSF: 



THIS ROUTINE IS ENTERED VIA A JUMP FROM 
ALL SEGMENT DESCRIPTORS HAVE BEEN BUILT. 



•$BCNTL' AFTER 
R3-R5 ARE INTACT. 



OOOOOOG OOOOOOG 
000006' 000044 



MOV 

MOV 

MOV 

CALL 

MOV 

MOV 

MOV 

BEQ 

CALL 

m 

MOV 



MFRHD.RO 

#T$MSI7,R1 

R5.R2 

$RLCB 

F.DFNB(R4),-(SP) , 

F.DSPT(R4).-(SP) , 

$r$KNM.R1 

10$ ; 

$CVRL ; 

ISW$DA,E$LSWT(R0) 

tODTDS.F.DSPT(R4i 



GET ADDRESS OF FREE POOL HEADER 
GET SIZE OF BLOCK TO RELEASE 

GET ADDRESS OF BLOCK 

RELEASE CORE BLOCK 

SAVE DEFAULT NAMEBLOCK POINTER 

SAVE DATASET POINTER 
GET VIRTUAL ADDRESS OF TASK NAf^BLOCK 
IF EQ-NO TASK FILE 
CONVERT TO REAL ADDRESS 
; DEBUGGING AID REQUESTED? 
IF EQ NO 
; SET ODT DATA DESCRIPTOR 



*••* c IS ••«• 



*•*• E 13 ••♦♦ 



BLDSG MACRO Ml 108 U-DEC-77 09: A5 PAGE 3-5 



283 001076 
28A 001100 

285 001104 

286 001106 

287 001 1U 

288 001120 

289 001 12A 

290 001130 

291 00113A 

292 001 UO 

293 001 UO 
29A 001 UA 
295 001 U6 

00115A 
001162 
001 16A 
001170 
001 17A 
001176 

302 001202 

303 001206 

304 0012U 

305 001 2U 

306 001220 

307 001224 

308 001226 

309 001226 

310 001232 

311 001236 



17 001242 

18 001242 

19 001244 
" 001250 

001252 
001256 
QQ1262 
001266 
25 001270 



010400 

103450 
012760 

016700 
062700 
012702 



005767 
001023 
012764 
012764 
010400 
005067 

105407 

010167 
016760 

012664 
012664 



016402 
012701 



010400 

103007 
012701 
016402 

000405 

026027 
000241 
001001 

000P61 



000001 



OOOOOOG OOOOOOG 

OOOOOOG 
OOOOOOC 
OOOOOOG 



OOOOOOG 

OOOOOOG 000046 
OOOOOOG 000044 

OOOOOOG 



OOOOOOG 
OOOOOOG OOOOOOG 

000044 
000046 



10»: 



1S$: 



OOOOOOG 
OOOOOOC 



20S: 



MOV 

CALL 

BCS 

MOV 

CALL 

MOV 

ADD 

MOV 

CALL 

TST 

BNE 

MOV 

MOV 

MOV 

CLR 

CALL 

BCS 

CALL 

MOV 

MOV 

MOV 
MOV 
RETURN 

MOV 
MOV 
CALL 



R4,R0 ; 

SPRFND ; 

20S : 
»SW$DA,R$SWTH(RO) 

SALELD ; 

SRTSEG.RO : 

#<S$GELT/2>.R0 ; 
#ESLNXT.R2 
SLNKVM 



FETCH FDB POINTER 

PARSE/FIND FILE 

IF C/S PARSE/FIND FAILURE 

; SPECIFY DEBUGGING AID 

ALLOCATE AN ELEMENT DESCRIPTOR 

GET ADDRESS OF ROOT SEGMENT 

POINT TO ELEMENT DESCRIPTOR LISTHEAD 

GET LINK-NEXT OFFSET 

LINK ELEMENT AS LAST ON LIST 



SLIBNM : DEFAULT LIBRARY SPECIFIED? 

15$ ; IF NE, YES 

nDFLIB,F.DFNB(R4) ; SET SYSTEM LIBRARY DFNB 

«SDSPLB,F.DSPT(R4) ; SET DATA STRING POINTER 

R4,R0 ; GET FDB ADDRESS 

SLIBNM ; ASSUME PARSE/FIND FAILURE 

SPRFND ; PARSE/FIND THE FILE 

15$ ; IF C/S PARSE/FIND FAILED 

SALELD ; ALLOCATE ELEMENT DESCRIPTOR 

R1 .SLIBNM ; SAVE VIRTUAL ADDRESS OF LIBRARY DESCRIPTOR 

SLBSWT.ESLSWTCRO) ; SET LIBRARY FILE SWITCH WORD 



(SP)*,F.DSPT(R4) 
(SP)«,F.DFNB(R4) 



RESTORE DATASET POINTER 

RESTORE DEFAULT NAMEBLOCK POINTER 



RSNAME(R4),R2 ; GET NAME STRING ADDRESS 
«<SSV2*400!ESR57>.R1 ; PARSE/FIND FAILURE 
SERMSG ; FATAL -NO RETURN 



.•♦♦036 

.•♦♦036 PARSE OUTPUT FILE SPECIFICATION 

.•♦♦036 



PARSE : 



OOOOOOC 
OOOOOOG 



000154 046116 



10S: 

201 1 
SOS: 



MOV 

CALL 

8CC 

MOV 

MOV 

CALL 

BR 

CMP 
CLC 
BNE 

SEC 

RETURN 



.END 



R4.R0 

fPARSE 

10S 

»<SSV0*400!ESR11 

RSNAME(R4).R2 

SERMSG 

20S 

F.FNB^N.DVNM(R0> 

30S 



FDB 



♦♦036 

♦♦036 GET ADDRESS OF 

♦♦036 PARSE FILE 

♦♦036 IF C/C OK 

.R1 .'♦♦036 GET ERROR/SEVERITY 

♦♦036 FILE NAME 

♦♦036 OUTPUT ERROR MESSAGE 

♦ ♦036 

rXL ; NULL DEVICE? 
ASSUME NO 
IF NE NO 

SET CARRY 

♦ ♦036 



•••* 



JIT 



«••* 



**** F 13 •••♦ 



BLDSG MACRO MHOS U-DEC-77 09:A5 PAGE 5-6 
SYMBOL TABLE 

B.BBFS- 000010 FD.COM« 020000 

B.BFST' 000015 FD.CR - 000002 

B.NXBDs 000012 FD.DIR- 000010 

B.VBN « 000004 FO.FTN' 000001 

CH.ANDs 000001 FD.FIU 040000 

CR * 000015 FD.INSb 000010 

CRFEX 000004R FD.ISP^ 002000 

CR«EF « *»*••• GX FD.MNT« 100000 

CS.DIF* 000002 FD.0SP> 004000 

CS.DVF' 000004 FD.PLC* 000004 

CS.EQU* 000040 FD.PRN« 000004 

CS.INP> 000001 FD.PSE> 010000 

CS.MOR> 000020 FD.RAH« 000001 

CS.NMF* 000001 FD.RAN* 000002 

CS.OUT- 000002 FD.REC* 000001 

CS.WLD> 000010 FD.RWM* 000001 

C.CMLD> 000002 FD.SDI* 000020 

C.DEVD* 000006 FD.SQD* 000040 

C.DIRD> 000012 FD.TTY* 000004 

C.DSOS* 000006 FD.WBH- 000002 

C.FILD* 000016 FF « 000014 

C.MKUI* 000024 FF.CHR> 000005 

C.MKW2> 000026 FF.NV * 000005 

C.S1ZE> 000054 FF.POE' 000002 

C.STAT« 000001 FF.RyO- 000001 

C.SWAO* 000022 FF.RWF> 000006 

C.TYPR- 000000 FF.SPC- 000004 

E»LNXT« •♦•♦♦• GX FO.APO" 000106 

E$LSWT« •*♦••• GX FO.MFV* 000002 

EIR11 . ****** GX FO.RD « 000001 

EM2 « •♦•••• GX FO.UPO- 000006 

EW5 » •••••• 6X FO.WRT- 000016 

EW57 ■ •♦♦*♦• GX F.ACTL" 000076 

FA.APD> 000100 F.ALOC- 000040 

FA.CRE- 000010 F.BBFS- 000062 

FA.DLK- 001000 F.BOe > 000070 

FA.ENB- 100000 F.BGBC* 000057 

FA.EXC- 002000 F.BKDN- 000026 

FA.EXT- 000004 F.BKDS- 000020 

FA.NSP- 000100 F.BKEF- 000050 

FA.POS- 010000 F.BKP1> 000051 

FA.RO « 000001 F.WCST- 000024 

J^2^" M28 F.BKVB- 000064 

JM£2" Sissy's F.cHR - 000075 

f^!!£' 2SS9i5 f.cntc« 000054 

i^-^T' 29S$I5 F.OFNB- 000046 

li'^V 22$$§9 F.OSPT- 000044 

it')^^' $MWl F.OVNM- 066154 

ERRORS DETECTED I 

VIRTUAL MEMORY USED: 2826 WORDS ( t? PAGES) 
DYNAMIC MEMORY! 1$744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00! 00: 29 



F.E06B= 

F.ERR = 

F.FACC= 

F.FFBY= 

F.FNAM* 

F.FNB = 

F.FTYP" 

F.FVER" 

F.HIBK^ 

F.LUN « 

F.MBCT- 

F.MBC1» 

F.MBFG> 

F.NRBD* 

F.NREC« 

F.OVBS« 

F.RACC« 

F.RATT" 

F.RCNM- 

F.RCTL« 

F.RSIZ« 

F.RTYP« 

F.SEQN> 

F.SPDV« 

F.SPUN> 

F,STBK« 

F.UNIT« 

F.URBD- 

F.V8N s 

F.VBSZ> 

G.LUCW> 

G.LUFB- 

G.LUNA> 

G.LUNU> 

HT « 

LF 

MAPNM 

MASPF > 

MSXAPRa 

NB.DEV- 

NB.DIR- 

NB.NAM> 

NB.SD1- 

NB.SD2> 

NB.SNM* 

NB.STP- 

NB.SVR« 

NB.TYP> 

NB.VER> 

N.DID « 



000052 


N.DVNMs 


000052 


SBLDSF 


001020RG 


000052 


N.FID = 


000000 


SSLDSG 


000062RG 


000045 


N.FNAM> 


000006 


SCRFNM^ 


****** GX 


000014 


N.FTYP= 


000014 


SCRODVs 


****** GX 


000110 


N.FVER» 


000016 


SCROUN3 


****** GX 


000102 


N.NEXT« 


00( j22 


SCVRL = 


****** GX 


000116 


N.STAT« 


000020 


SDFINPB 


****** GX 


000120 


N.UNIT= 


000054 


SDFLBS<c 


****** GX 


000004 


ODTDR 


000C24R 


SDFLIB- 


****** GX 


000042 


ODTDS 


000006R 


$DFMAP> 


****** GX 


000054 


ODTDV 


000022R 


SDFNB « 


****** GX 


000055 


OOTFE 


000040R 


$DFTSK= 


****** GX 


000056 


ODTFN 


000051R 


SDSPLB' 


****** GX 


000024 


PARSE 


001242R 


SERMSGs 


****** GX 


000050 


R$NAME> 


♦♦••♦* GX 


SFRHD « 


****** GX 


000050 


RISWBKs 


****** GX 


SGTCML* 


****** GX 


000016 


RtSWTH> 


*♦**♦• GX 


SINIPT* 


****** GX 


000001 


RSS11M> 


000000 


$INJTL<= 


****** GX 


000054 


R.FIX » 


000001 


SINPSW* 


****** GX 


000017 


R.SEQ < 


000005 


$LBSWT< 


****** GX 


000002 


R.VAR 8 


000002 


$LCKPG< 


****** GX 


000000 


SPA « 


000040 


SLIBNM* 


****** GX 


000100 


SPIOL « 


****** GX 


SLNKVMo 


****** GX 


000072 


STBNM 


000060R 


IMAPNM> 


****** GX 


000074 


STSBF > 


****** GX 


SMAPSW* 


****** GX 


000056 


SWPT 


000040R 


SMAPTD« 


****** GX 


000156 


SWTB 


000046R 


SMAPTM- 


****** GX 


000020 


SWtDA » 


****** GX 


IMPFIL- 


****** GX 


000064 


SWtNH > 


****** GX 


SMRFLG 


OOOOOORG 


000060 


SWtPI « 


****** GX 


INXTFL* 


****** GX 


008005 


StGELT' 


****** GX 


SPARSE' 


***4** GX 


stvo * 


****** GX 


$PnFND« 


****** GX 


000000 
000002 


SIV2 > 


****** GX 


SPRVAP« 


****** GX 


S.BFHD- 


000020 


SQL' IT > 


****** GX 


000011 
000012 


S.FATT. 


000016 


SRLCB ' 


****** GX 


S.FDB * 


000140 


SRTSEG« 


****** GX 


000056R 


S.FNAM* 


000006 


$SAVRG> 


****** GX 


••»••• GX 


S.FNB « 


000056 


SSCANI' 


****** GX 


•*♦»•• GX 


S.FNBW> 


000017 


tSCANO« 


****** GX 


000200 


S.FNTY« 


000004 


SSCANR 


000002RG 


000100 
000004 


S.FTYP. 
S.NFEN« 


sn 


tSTBSW* 
SSWTCH« 


****** GX 
****** GX 


Wot ! 


TSKNM 


000054R 


»SYNTX« 


****** GX 


TSIKF » 


****** GX 


ITSKNM- 


****** GX 


00004 1 


TtMSIZ* 


****** GX 


t'SKSW* 


****** GX 


00002 ' 


VT 


000015 


tUNLPG> 


****** GX 


00001 


tALBLK* 


****** GX 


It 


000001 


OOOOOi 


»ALELO« 


****** GX 


tttOST* 


000014 


K^4 


IALEL0« 
tBCNTL- 


****** GX 
****** GX 


...GBl« 

...TPC- 


OOOOOQ 
OOOUO 



*••• 6 IS •••• 



•*•• 6 15 ***• 



BLOSG MACRO Ml 108 U-OEC-77 09:A5 PAGE 3-7 
SYMBOL TABLE 

C31 ,20]BLDSG.C31 .30]BLDSG/-SP=C3*. .10DMACFLM.FCSPR.BL0S6 
HI AZ 



•••• H IS **** 



••*• H 13 ••♦• 




•••* I ts •*•• 



WW«« I 13 •«»« 



BLMNT MACRO Ml 108 U-DEC-77 09:*6 PAGE 2 



n 000000 

0000*2 




8!!^ SW 



000007 



.TITLE 
.IDENT 



BLMNT 

/6o/ 



COPYRIGHT 1974. DIGITAL EQUIPMENT CORP., MAyNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NUT BC CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 00 
C. MONIA 



29-APR-74 



INITIALIZE AND BUILD LIBRARY MODULE NAME LISTS 
LOCAL DATA 



LCLMOO: .OLKW 17. 
ILBM0D::.BLKW 1 



LOCAL STORAGE FOR NODULE NAMES 
VIRTUAL ADDRESS OF NAME TABLE 



**-tCLRMN-INITIALIZE MODULE SWITCH VALUE TABLE 
INPUTSi 

NONE 



OUTPUTS: 



CSl SWITCH VALUE LIST FOR MODULE NAMES IS INITIALIZED 



; THIS SUMOUTINE IS CALLED TO SETUP THE MODULE NAME LIST FOR 
; SUBSEQUENT SCANNING BY tBLMNT 



ICLRMN:: 






MOV 


tiLBSVT.RO 


; GET ADDRESS OF VALUE TABLE 


MOV 


»I..R1 


; GET MAX. NO OF NAMES 


lOtt 






CLRB 


(RO) 


; CLEAR FIRST BYTE OF ENTRY 


ADD 


*7.R0 
R1.10I 


; POINT ro SIART OF NEXT ENTRY 


50B 


J 'REPEAT 


REfURN 







I* 



•••MLMNT-SCAN CSl SWITCH VALUE LIST FOR MODUlE NAMES 



•••ft J M •••• 



J IJ wwww 



BLUNT MACRO W108 U-OEC-77 09: A6 PAGE 2-1 



58 
59 

60 

ty 

62 
63 
64 
65 



67 
68 



0000/0 
79 000070 

to 00007^ 
1 000100 
i2 000104 
S 000112 
4 0001U 
5 000120 

86 000124 

87 000130 

88 000130 

89 000134 

90 000136 

91 000140 

8 ««'*' 



0050^7 
016700 
032760 
001444 
012705 
012703 
012746 

062703 
0053^6 
003411 
105713 
001772 
010300 

005702 

m 

000763 




INPUTS: 



SINIPT RECORD BLOCK 

SLBSVL CSI SWITCH VALUE LIST 



OUTPUTS: 



C-CLEAR 

SLBMOD* VIRTUAL ADDRESS OF NOOULE LIST (O'NONE) 



C-SET 

NON RADIX-50 



SPECIFIED. 



THIS ROUTINE IS CALLED TO CONSTRUCT A LIST OF NODULE NAMES FOR A LIBRARY 
FILE. THE LIST CONSISTS OF TyO-yORD RADlX-50 VALUES TERMINATED BV A ZERO. 
LIST STORAGE IS OBTAINED FROM VIRTUAL MEMORY. INPUT IS THE SWITCH VALUE 
TABLE CONTAINING ASCII DATA AS BUILT BY CSI2. IF THE TABLE IS EMPTY NO LIST 
IS CONSTRUCTED. 

IBLMNT:: 



1 77742 
OOOOOOG 
OOOOOOG OOOOOOG 

000000* 
1777716 
000011 



000007 



101: 



20Si 



000000' 

000042 
177632 



SOti 



SSli 



SAVRG 




SAVE NON-VILATILE REGISTERS 


CLR 


KBMOD 


ASSUME TABLE EMPTY (CLEAR C) 


MOV 


tINIPT.RO 


GET INPUT FILE RECORD BLOCK 


BIT 


«SWlLB.RISWTM(RO 


1 ; LIBRARY FILE? 


BCQ 


40S 


IF EQ NO 


MOV 


«LCLMO0.RS 


GET LOCAL STORAGE ADDRESS 


MOV 


#»LBSVT-^R3 


GET ADDRESS OF SWITCH VALUE LIST 


MOV 


f9..-(SP) 


• SET LOOP COUNT 


ADD 


#7,R3 
(SP) 


POINT TO NEXT STRING 


DEC 


DECREMENT COUNT 


BLE 


201 


IF LE FINISHED SCAN 


TSTB 


(R3) 


ANYTHING AT THIS ENTRY? 


BEQ 


lot 


IF EQ NO 


MOV 


R3,R0 


SET STRING POINTER 


CALL 


pHR 


CONVERT mm 


TST 


R2 


ANY BAD CHARACTERS? 


SEC 




ASSUME YES 


BNI 


551 


' IF NE NO 


BR 


10$ 


GO AGAIN 


CLR 


(R5) 


MARK END OF LIST 


MOV 


fLCLM0D.R4 


GET TABLE ADDRESS 


CMP 


R4.R5 
35i 


ANY ENTRIES? 


BCQ 


IF EQ NO 


MOV 


t17.»2.R1 


■ SET TABLE SI7E 


CALL 


tALVRI 


ALLOCATE VlRTUAl STORAGE 


Jf? 


R1.SLBM0D 


' SAVE VIRTUAL ADDRESS 




• SET SUCCESS 


MOV 


(R4)«.(R0)< 


BUILD NAME LIST 


BIO 


S5S 


IF FQ OONf WITH I 1ST 


MOV 


(R4>».(R0>* 


MOVE SECOND HALF OF NAME 


BR 


30t 




tNC 


(SP)« 


CLEAN STACK 



*••• 



TJT 



•••• 



BLWT MACRO mi08 U-OEC-77 09:A6 PAGE 2-2 

115 000224 401: ; 

116 000224 RETURN t 
117 

118 000001 .END 



••*• L IS **** 



BLMNT MACRO MHOS U-OEC-77 09:46 PAGE 2-3 
SYMBOL TABLE 



CR c 000015 

FF > OOOOU 

HT « 000011 

LCLMQO COOOOOR 

. ABS. 000000 
000226 
ERRORS DETECTED: 



LF = 000012 
RISWTH= ♦••••* GX 
RtSIIM- 000000 
SPA « 000040 



SWSLB = ****** GX 
VT = 000015 
SALVRT= ****** GX 
SBLMNT 0000 70RG 



tCLRMN 000044RG 
»INIPT= ****** GX 
SLBMOD 000042RG 
tLBSVT= ****** GX 



SRR = •*.♦•• GX 
$SAVR6= ****** GX 
IS = 000001 



000 
001 



VIRTUAL MEMORY USED: 635 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:06 

C31 .203BLMNT.C31 .30]BLMNT/-SP«C31 .103MACFLM.BLMNT 
A 



*••• M IS **•* 




*•** N 13 **** 



CMLCL MACRO MHOS U-DEC-77 09:A6 PAGE 2 



.TITLE CMLCL 
.IDENT /01/ 



9 
10 
11 
12 
13 
H 
15 
16 
17 
16 
19 
20 
21 
22 
?5 
24 
25 
26 

n 

28 
29 
SO 




016700 0000006 



000001 



COPYRIGHT 
COPYRIGHT 



1973. 
197A, 



DIGITAL 
DIGITAL 



EQUIPMENT 
EQUIPMENT 



CORP,, 
CORP., 



MAYNARO. 
MAVNARD. 



MASS. 
MASS. 



THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC^S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 01 

; C.MONIA 08-FEB-74 

RESET GCML CONTROL BLOCK 

MACRO LIBRARY CALLS 



I 



I 



.MCALL RCMLI 

•*-SCMLCL-RESET GCML CONTROL BLOCK 
INPUTS: 

NONE 



; OUTPUTS: 

i 

t GCML CONTROL BLOCK IS RE-INITIALIZED 

I 



ICMLCLii 



MOV 
CALL 
RCMLI 
RETURN 

.FND 



$INIPT.RO 

fSTRCB 

ICMIPt 



I 



GET RECORD BLOCK POINTER 
SET RECORD BLOCK RESIDENT 
RESET TO ZERO LEVEL 



*••* I u •••• 



**•* B U •••* 



CHLCL MACRO Ml 108 
SYMBOL TABLE 



CR 
ff 

HT 



« 000015 
« OOOOU 
> 000011 



U-OEC-77 09:A6 PAGE 2-1 



LF = 000012 
PARSSS:' 000067 
RSS11M» 000000 



SPA = OOOOAO 
VT = 000013 
$CMIPT= ♦*•*•* GX 



$CMLCL OOOOOORG 
$INIPT= **♦♦** 6X 
$STRrB= «•**«♦ GX 



$$ = 000001 
.GCML2= ****** G 



. ABS. 000000 000 
000022 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 666 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 157A4 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:07 
C31 .203CMLCL.C31 ,303CMLCL/-SP«C31 .103MACFLM.CMLCL 



«••* C 14 •••* 



***« c 14 **** 




•*•• Q }^ *•«* 



**** D 14 **** 



CORAL MACRO Ml 108 U-DEC-77 09:A6 PAGE 2 



.TITLE CORAL 
•IDENT /OO/ 



U 

11 

18 

19 



47 
41 



COPYRIGHT (C) 1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 00 

D. N. CUTLER/C. MONIA 23-SEP-76 

FIRST FIT DYNAMIC CORE ALLOCATION ROUTINES 

DATA STRUCTURES 



FREE BLOCK LIST HEADER: 



FREEHD: .WORD 
.WORD 



FREE BLOCK: 



FREEBK: .WORD 
.WORD 



NEXT .-POINTER TO NEXT FREE BLOCK OR 
; ALWAYS ZERO 



NEXT .-POINTER TO NEXT OR 
SIZE .SIZE OF BLOCK IN BYTES 



NOTE: 



THE FREE BLOCK LIST IS ORDERED BY iHE CORE ADDRESS OF THE BLOCKS 
THEMSELVES. THIS IS SO GARBAGE COLLECTION AND BLOCK AGGLOMERATIO 
CAN BE PERFORMED WITH LITTLE OVERHEAD. 



••-»RLCB-RELEASE CORE BLOCK 

THIS SUBROUTINE IS CALLED TO RELEASE A CORE BLOCK TO THE FREE LIST. 
THE FREE LIST IS SEARCHED UNTIL THE PROPER SLOT IS FOUND AND THE 
BLOCK IS MERGED INTO THE FREE LIST. IF THE BLOCK BEING RELEASED 
CAN BE AGGLOMERATED WITH A BLOCK ALREADY IN THE FREE LIST, THEN THE 
BLOCKS ARE AGGLOMERATED AND THE NEW BLOCK IS MERGED INTO THE FREE 
LIST. 

INPUTS! 

RO-ADDRESS OF FREE BLOCK LIST HEAD. 



•*«* £ 14 «*«• 



**** E ^4 •*«* 



CORAL MACRO Ml 108 U-DEC-77 09:A6 PAGE 2-1 



65 

66 000000 

67 

68 000000 

69 000004 

70 000010 

71 00001 A 

72 000016 

73 000020 
7A 000022 

75 000024 

76 000026 

77 000030 

78 000032 

79 000034 

80 000036 

81 000040 

82 000042 

83 000044 

84 000046 

85 000050 

86 000052 

87 000054 

88 000060 

89 000062 

90 000064 

91 000066 

92 000072 

93 000074 

94 000100 



R1=SIZE OF BLOCK TO RELEASE IN BYTES. 
R2=ADDRESS OF BLOCK TO RELEASE. 



062701 000003 

042701 000003 

001431 

011003 

001404 

020203 

103402 

010300 

000772 

010312 

010204 

060104 

020304 

001002 

012312 

061301 

010210 

010004 

066004 0C0002 

020204 

001004 

011210 

066001 000002 

010002 

010162 000002 



; OUTPUTS: 






NONE. 






.PSECT 


$$CRAL 


SRLCB: 


: SAVRG 






ADD 


*3,R1 




BIC 


#3,R1 




BEQ 


5S 


IS: 


MOV 


(RO) ,R3 




BEQ 


2S 




CMP 


R2.R3 




BLO 


2S 




MOV 


R3.R0 




BR 


IS 


2$: 


MOV 


R3.(R2) 




MOV 


R2,R4 




ADD 


R1,R4 




CMP 


R3,R4 




BNE 


3S 




MOV 


(R3)*.(R2) 




ADD 


(R3),R1 


3S: 


MOV 


R2.(R0) 




MOV 


R0,R4 




ADD 


2(R0),R4 




CMP 


R2.R4 




BNE 


4S 




MOV 


(R?).(RO) 




ADD 


2(R0),R1 




MOV 


R0,R2 


4$: 


MOV 


R1,2(R2) 


5t: 


RETURN 





SAVE NONVOLITILE REGISTERS 

ROUND UP TO NEXT 2 WORD BOUNDRY 

CLEAR EXCESS BITS 

IF EQ VERGESSEN! ! ! 

GET ADDRESS OF NEXT IN LIST 

IF EO END OF CHAIN 

COMPARE ADDRESSES 

IF LO FOUND SLOT 

SET NEW PREVIOUS ADDRESS 

GO AGAIN 

ASSUME NO AGGLOMERATION 

CALCULATE ADDRESS OF NEXT BLOCK 

ADD IN BLOCK SIZE 

COMPARE ADDRESSES 

IF NE DO NOT MERGE BLOCKS 

SET NEW FORWARD LINK 

ADJUST SIZE 

ASSUME NO AGGLOMERATION 

CALCULATE ADDRESS OF NEXT BLOCK 

ADD IN BLOCK SIZE 

COMPARE ADDRESSES 

IF NE DO NOT MERGE 

SET NEW FORWARD LINK 

ADJUST SIZE 

SET NEW BASE ADDRESS OF BLOCK 

SET SIZE OF BLOCK 



**-SRQCB-REQUEST CORE BLOCK 

THIS ROUTINE IS CALLED TO REQUEST A CORE BLOCk rROM THE FREE LIST. 
THE SELECTION IS ALWAYS FIRST FIT. 



INPUTS: 



RO-ADDRESS OF FREE BLOCK LIST HEAD. 
RI'SIZE OF BLOCK REQUESTED IN BYTES. 

FOR COMPATIBILITY. R1 MAY BE EITHER POSITIVE OR NEGATIVE. 

IN EITHER CASE TH£ MAGNITUDE OF Rl IS THE SIZE OF THE BLOCK. 



OUTPUTS: 



C-1 IF REQUEST CANNOT BE FULFILLED. 
C"0 IF REQUEST IS SATISFIED. 

RO'ADDRESS OF REQUESTED CORE BLOCK. 



••t* f 14 •«•* 



CORAL MACRO Ml 108 U-DEC-77 09:A6 PAGE 2-2 



**** f 1^ **** 



115 

116 000102 

117 000102 

118 00010A 

119 000106 

120 000110 

121 000110 

122 0001U 

123 000120 
12A 000122 

125 000122 

126 000124 

127 000126 

128 00C126 

129 000130 

130 000132 

131 000136 

132 OOOUO 

133 000U2 
13A 0OOU6 

135 000150 

136 000152 

137 000160 

138 000160 

139 000162 
HO 000162 
U1 

1A2 



005701 
100001 
005A01 

062701 000003 
0A2701 000003 
0OUO2 

010002 
011200 

000261 

OOUU 

026001 000002 

103771 

00U07 

160160 000002 

060112 

011202 

016062 000002 000002 

011012 



000001 



SRQCB: 



10S: 



20S: 



30$: 



A0$: 
50t: 



TST 
BPL 
NEG 

ADD 
BIC 
BEQ 

MOV 
MOV 

SEC 
BEQ 

CMP 
BLO 
BEQ 
SUB 
ADD 
MOV 
MOV 

MOV 

RETURN 

.END 



R1 

10S 

R1 

*3.R1 
#3.R1 
30$ 

R0.R2 
(R2),R0 



50$ 

2(R0),R1 

20$ 

40$ 

R1.2(R0) 

R1,(R2) 

(R2},R2 

2(R0).2(R2) 

(R0>.(R2) 



SIZE NEGATIVE? 

IF PL NO 

GET ABSOLUTE VALUE OF ALLOCATION SIZE 

ROUND UP TO 4-8YTE BOUNDARY 
DISGARD EXCESS BITS 
IF EQ EXIT NOW 

COPY ADDRESS OF PREVIOUS 
GET ADDRESS OF NEXT 

ASSUME AT END OF LIST 

IF EQ AT END 

THIS HOLE BIG ENOUGH? 

IF LO NO 

IF EQ HOLE JUST FITS 

DECREASE HOLE SIZE 

POINT TO NEXT HOLE 

GET ADDRESS OF NEXT HOLE 

SET LENGTH OF HOLE 

RELINK HOLES 



•*•« 6 t4 *•*• 



**•* G 1A **** 



CORAL MACRO Ml 108 
SYMBOL TABLE 



H-DEC-77 09:A6 PAGE 2-3 



CR 
FF 



r 000015 
= OOOOU 



HT 
LF 



= 000011 
= 000012 



R$S11M= 000000 
SPA = 000040 



VT = 000013 $RQCB 0001 02RG 002 
SRLCB OOOOOORG 002 $SAVRG= ****** GX 



. ABS. 000000 000 

000000 001 

ttCRAL 000164 002 

ERRORS DETECTED: 



VIRTUAL MEMORY USED: 596 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 157AA WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:07 

C31 ,20]C0RAL,C31 .30]CORAL/-SP=C31J0]MACFLM. CORAL 
B K 



•••* H U **** 



*•** H H **** 




••*• I )^ tttt 



•*•• I 1^ *t«* 



PWCFLM MACRO M1108 U-OEC-77 09:A6 PAGE 2 



.IF NDF UtSKST 

.TITLE CVRL 

.IFF 

.TITLE CVRS 

.ENOC 
.lOENT /02/ 



COPYRIGHT 1974, DIGITAL EQUIPWNT CORP., NAVNARD. MASS. 

THIS SOFTUARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 02 

C. MONIA 22-FEB-7* 



;**-1 



;**-1 



MOCIFICATIONS: 
NO. DATE 



OfS 



:r-oct-75 



PROGRAMMER 



C. MONIA 



CONVERT A VIRTUAL ADDRESS TO REAL ADDRESS 

••-SCVRL-MAKE VIRTUAL STORE RESIDENT 
INPUTS: 

R1 -VIRTUAL ADDRESS 



OUTPUTS: 



RO>REAL ADDRESS 



R1 IS UNCHANGED 

TMS ROUTINE IS CALLED TO CONVERT A VIRTUAL ADDRESS INTO 
PM ADDRESS IN REAL MEMORY. THE LIST OF RESIDENT PAGE 
dUFFERS IS CHECKED FIRST. IF THE PAGE IS NOT 
IN MEMORY A BUFFER IS ALLOCATED AND THE PACE IS READ INTO 



••t* J tA •••• 



CVRL MACRO MHOS U-OEC-77 09:46 PAGE 2-1 



ww>a J |<| wwwv 



CORE 



62 000000 






65 0(0000 






tA 0(0004 


010105 




65 0(XXX)6 


000305 




66 000010 






67 OOOOU 


103032 




68 000016 


012701 


000000<i 


69 000022 






70 000026 


016704 


OOOOOOG 


71 000032 


001405 




;^ri» 


005002 




150502 




74. 000040 


006302 




75 000042 


060204 




76 000044 


010014 




77 000046 






78 000046 


110560 


OOOOOOQ 


79 000052 






80 000056 


016760 


OOOOOOG OOOOOOG 


81 000064 


010067 


OOOOOOG 


82 000070 


016760 


OOOOOOG OOOOOOG 


83 000076 


010501 




84 000100 


000301 




85 000102 






86 000102 


105005 




87 000104 


000305 




88 000106 


006305 




89 000110 


060500 




90 000112 


062700 


OOOOOOG 



91 



100 

101 000116 



I8i 



000001 



SCVRL : : 

SAVRG 




SAVE NON-VOLATILE REGISTERS 


NOV 


R1,R5 


COPY VIRTUAL ADDRESS 


SWAB 


R5 


POSITION BLOCK NUMBER TO LOW BYTE 


CALL 


SFNOPG 


SEARCH FOR PAGE 


BCC 


10» 


IF C/C PAGE IN CORE. 


NOV 


«P»GSIZ.R1 


GET SIZE OF PAGE BUFFER 


CALL 


SALBLK 


ALLOCATE MEMORY 


MOV 


IPAGLS.R4 


GET ADDRESS OF PAGE LIST 


BEQ 


51 


IF EQ NONE 


CLR 


R2 


SET FOR MOVB WITH NO EXTEND 


BISB 


R5,R2 


GET RELATIVE BLOCK NUMBER 


ASL 


R2 


• CONVERT TO WORD OFFSET 


ADD 


R2.R4 


COMPUTE LIST ADDRESS 


MOV 


R0.(R4) 


■ STORE ADDRESS OF PAGE 


5t: 






MOVB 


R5.PSGBLK(R0) 


■ SET RELATIVE BLOCK NUMBER 


CALL 


MDPAG 


■ READ PAGE INTO CORE 


MOV 


tPAGHD.PtGNXT(RO 


> ; LINK OLD FIRST TO NEW FIRST 


MOV 


RO.SPAGHD 


• SET NEW FIRST 


MOV 


tTIME.PSGTlM(RO) 


; TIME-STAMP PAGE 


MOV 


R5.R1 


■ RESTORE VIRTUAL ADDRESS 


SWAB 


R1 


• STRAIGHTEN IT 


101: 






CLRB 


R5 


■ CLEAR BLOCK NUWER 


SUAB 


R5 


• GET WORD DISPLACEMENT IN LOW BYTE 


ASL 


R5 


■ MAKE BYTE OFFSET 


ADD 


R5.R0 
«PiGHD.R0 


; ADD DISPLACEMENT IN BLOCK 


ADD 


■ OFFSET PAST HEADER 


.IF DF 


WtSKST 




INC 


MRKAC*2 


; INCREMENT TOTAL ACCESS COUNT 


BNE 


201 


; IF NE NO OVERFLOW 


INC 


MRKAC 


; INCRE?«;NT HIGH PART OF COUNT 


201: 






.ENOC 






RETURN 




• 
1 


.END 







;**KIEW** 
;**NSW** 
;**NEW«* 
;**NEW** 
[•*NEW** 

;**NEW** 

[•♦NEW** 
;**NEW** 



•••• K 14 •••• 



K 1^ ""' 



CVRL MACRO Mil 08 
SYMBOL TABLE 

CR s 000015 
Ff « OOOOU 
HT s 000011 
LF ' 000012 
PtGBLK- •••*•• GX 

. ABS. 000000 
000120 
ERRORS DETECTED: 



U-DEC-77 09:46 PAGE 2-2 



PtGHD * •••••• GX 

PSGNXTs •••••• GX 

P$GSIZ= •♦•••* GX 
PSGTIMs ••#••• GX 



RtSIIMc 000000 
SPA = 000040 
VT ' 000013 
»ALBLK« •••••• GX 



tCVRL OOOOOORG 
|FNDPG= ••♦*»* GX 
IPAGHD= •••••» GX 
fPAGLS* ••••♦• GX 



»RDPA6= •*•••• GX 

$SAVRG= •♦•••• GX 

$TIME - •♦•••♦ GX 
%l : 000001 



000 
001 



VIRTUAL MEMORY USED: 620 WORDS ( 3 PAGES) 
D^ NMIC MEMORY: 1S7A4 WORDS ( 60 PAGES) 
r ^'SE0 TIME: 00:00:07 

I 1.20]CVRL.C31.30]CVRL/-SP»C31.10]MACFLM,CVRL 
B w 



**** L 14 •*** 




*•** M 14 ttt* 



MACFLM MACRO Ml 108 U-OEC-77 09: A6 PAGE 3 



'I 



.IF NDF WSSKST 

.TITLE CVRL 

.IFF 

.TITLE CVRS 

.ENOC 

. I DENT /02/ 



COPYRIGHT 1974, DIGITAL EQUIPMENT CORP.. MAVNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS NAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJI-CT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A OyWITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR T» £ USE OR RELIABII :TY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DcC. 

VERSION 02 

C. MONIA 22-FEB-74 

MODIFICATIONS: 

NO. DATE 



.•♦•-1 



043 



28-OCT-75 



PROGRAMMER 



C. MONIA 



CONVERT A VIRTUAL ADDRESS TO REAL ADDRESS 

•*-lCVRL-MAKE VIRTUAL STORE RESIDENT 
INPUTS: 

R1 'VIRTUAL ADDRESS 
OUTPUTS: 

RO'REAL ADDRESS 

R1 IS UNCHANGED 

THIS ROUTINE IS CALLED TO CONVERT A VIRTUAL ADDRESS INTO 
AN ADDRESS IN REAL MEMORY. THE LIST OF RESIDENT PAGE 
BUFFERS IS CHECKED FIRST. If THE PAGE IS NOT 
IN MEMORY A BUFFER IS ALLOCATED AND THE PAGE IS READ INTO 



;*»-1 



*t«* N U *•'*• 



CVPS MACRO Ml 108 H-OEC-77 09:A6 PAGE 3-1 



58 
59 
60 
61 

62 000000 

63 000000 

64 OOOOOA 

65 000006 

66 000010 

67 OOOOU 
16 




8: 

84 
85 
86 
87 



90 
91 

;! 

94 
95 
96 
9/ 
98 
99 

18? 
!8f 



1102 
000102 
000104 
'J00106 
000110 
000112 



000116 
000122 

"15S 



000130 



: CORE 

I 

I- 

ICVRLt: 



010105 
000305 

103032 
012701 

016704 
001405 



OOOOOOG 
OOOOOOG 



006302 
060204 
010014 

110560 OOOOOOG 



III 



016760 
010067 
016760 
010501 
000301 

105005 
000305 
006305 
060500 
062700 



005267 
001002 
005267 



000001 



OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 



10S: 



OOOOOOG 

000002G 
OOOOOOG 



20t! 



SAVRG 

MOV 

SWAB 

CALL 

BCC 

MOV 

CALL 

MOV 

BEQ 

CLR 

BISB 

ASL 

MOVB 
CALL 

flffi 

m 

MOV 
SWAB 

ClRB 
SWAB 

m 



§ 



.ENDC 

RETURN 

.END 



R1.R5 

R5 

tFNDPG 

1CS 

«P$GSIZ,R1 

tALBLK 

tPAGLS,R4 

5» 




R5,PIGBLK(R0) 

SRDPAG 

tPA6HD.PS6NXT(R0J 

R0.tP.^6HD 

ITlMf.PSGTIM(RO) 

R5,R'l 

R1 

R5 

R5 

P5 

R5.R0 

mCHD.RO 



.IF OF WtlKSr 



IWRKAC«2 

201 

IWRKAC 



SAVE NON-VOLATILE REGISTERS 

COPY VIRTUAL ADDRESS 

POSITION BLOCK NUMBER TO LOW BYTE 

SEARCH FOR PAGE 

IF C/C PAGE IN CORE. 

GET SIZE OF PAGE BUFFER 

ALLOCATE MEMORY 

GET ADDRESS 0^ PAGE LIST 

IF EQ NONE 

SET FOR MOVB WITH NO EXTEND 

GET RELATIVE BLOCK NLVBER 

CONVERT TO WORD OFFSET 

COMPUTE LIST ADDRESS 

STORE ADDRESS OF PAGE 

SET RELATIVE BLOCK NUMBER 
READ PAGE INTO CORE 
; LINK OLD FIRST TO NEW FIRST 
SET NEW FIRST 
; TIME-STAMP PAGE 
RESTORE VIRTUAL ADDRESS 
STRAIGHTEN IT 

CLEAR BLOCK NUMBER 

GET WORD DISPLACEMENT IN LOW BYTE 

MAKE BYTE OFFSET 

ADD DISPLACEMENT IN BLOCK 

OFFSET PAST HEADER 



INCREMENT TOTAL ACCESS COUNT 

IF NE NO OVERFLOW 

INCREMENT HIGH PART OF COUNT 



l**N£W** 
I ••NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**N£W** 



*••* I yi ••*• 



**** B 15 **•« 



_J 



CVRS MACRO MHOS 
SYMBOL TABLE 

CR = 000015 
fr « OOOOU 
HT « 000011 
LF « 000012 
P$GBLK3 •••••♦ GX 



U-OEC-77 09:46 PAGE 3-2 



PSGHO = ••*♦♦♦ GX 
P$GNXT= ♦«•♦•* GX 
P$GS12= ♦•♦♦♦♦ GX 
PIGTIM" ♦*•♦♦* GX 
Rt$11M» 000000 



SPA = 


000040 


$FNDPG= •♦*♦** 


GX 


$SAVRG= •♦**♦♦ 


GX 


VT 


000013 


$PAGHD= ***•*• 


GX 


JTIME = ****** 


nx 


U$SKST= 


000000 


$PAGIS» ♦•♦*»* 


GX 


fWR)CAC= •*♦**• 


GX 


SALBLK- 


****** GX 


$RDPAG» ♦♦••** 


GX 


$$ = 000001 




»CVRL 


OOOOOORG 











. ABS. 000000 000 
000132 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 640 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:09 

C31,20]CVRS,C31.30]CVRS/-SP«r.31.10]MACFLM.WRKST,CVRL 
_XM 



•••• c IS *•«* 



*••• C 15 •••* 




•••* D IS *••• 



♦•*• D 15 •*♦♦ 



DKALO MACRO Ml 108 U-OEC-77 09: A6 PAGE 3 



1 
2 
3 

A 
5 
6 
7 
8 
9 
10 
11 
12 
13 
H 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
23 
26 
27 
28 
29 
30 
31 
32 
33 
3A 
35 
36 
37 
38 
39 
AO 
A1 
A2 
A3 
AA 
AS 
A6 
A7 
A8 
A9 



.TITLE DKALO 
.IDENT /16/ 



COPYRIGHT 1973. DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 

COPYRIGHT 197A. DIGITAL EQUIPMENT CORP.. MAYNARD. MASS. 

COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 
COPYRIGHT (C) 1977 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 16 

D. N. CUTLER/C. MONIA 21-JAN-7A 



;**-1 



;**-1 



MODIFICATIONS: 
NO. DATE 



0A1 
0A8 
052 
063 
JAK100 



19-MAY-75 
09-FE8-76 
29-MAR-76 
30-MAY-76 
16-FEB-77 



PROGRAMMER 



C. MONIA 
C. MONIA 
r. MONIA 
C. MONIA 
CHANGES FOR MULTIUSER TASKS 



MONITOR DEPENDENT ROUTINE TO ALLOCATE DISK SPACE FOR TASK IMAGE 
MACRO LIBRARY CALLS 

.MCALL OFNBSW 

LOCAL DATA 



At 



W 



TtSMP 



; OUTPUT LOGICAL DISK BLOCK ADDRESS OF TASK IMAGE 

; 

TSKLM: .ASCII /TASK DISK ADDRESS: / 
TSKDB: .ASCII /OOOOOO i 000000/ 
TSKMEt 

••** E IS *•• 



•*** E 15 •♦♦ 



DKALO MACRO Ml 108 1A-DEC-77 09:A6 PAGE 3-1 



TSKST: 



.EVEN 
.BLKU 

.ENDC 



TASK IMAGE FILE STATISTICS BLOCK 



80 000000 

81 000006 

82 000010 

83 OOOOU 

84 000020 

85 00002A 

86 000026 
67 000032 

88 000036 

89 0000A2 

90 OOOOAA 

91 0000A6 

92 000050 

93 000050 
9A 000052 
95 000056 
96 

97 



13? 



102 

103 000064 

104 000064 

105 000070 

106 000074 

107 000106 

108 000110 

109 000112 

110 QOOlU 

111 000116 

112 QQQ120 

113 0QQ124 

114 000132 



•*-JDKAL0-DISK ALLOCATION 

THIS ROUTINE IS CALLED IN PHASE 4 TO ALLOCATE THE DISK SPACE 
FOR THE TASK IMAGE FILE. THE FILE IS ALLOCATED AND A BITMAP 
IS CONSTRUCTED THAT CONTAINS A ONE BIT FOR EACH BLOCK IN THE 
FILE. 

INPUTS: 

SRLBLK-HIGHEST RELATIVE BLOCK NUMBER. 
OUTPUTS: 

TASK IMAGE FILE IS ALLOCATED AND BITMAP IS CONSTRUCTED. 



032767 OOOOOOn OOOOOOG SDKALO: 
001522 

012705 OOOOOOG 

066715 OOOOOOG 

062515 

016700 OOOOOOG 

016704 OOOOOOG 

066704 OOOOOOG 

020415 

101 001 

011504 



010403 

010467 OOOOOOG 

166767 OOOOOOG OOOOOOG 



5S: 



016002 OQQQOOG 
010360 000034 

103012 
005403 
100764 
012701 

OOOG OOOG 

042767 OOOOOOG OOOOOOG 
000450 



6$: 



BIT 


#TSSKF.$SWTCH 


BEQ 


SOS 


SAVRG 




MOV 


#SRLBLK,R5 


ADD 


$HDRBN.(R5) 


ADD 


(R5)*,(R5) 


MOV 


STSKPT.RO 


MOV 


$FSIZI,R4 


ADD 


$HDRBN.R4 


CMP 


R4.(R5) 


BHI 


5$ 


MOV 


(R5),R4 


MOV 


R4.R3 


MOV 


R4,$FSI2t 


SUB 


$LBBLK.$FSi;i 



.IF 
MOV 
.ENDC 



MOV 

MOV 

OFNBSW 

BCC 

NEG 

BMJ 

MOV 

.BYTE 

CALL 

BIC 

BR 



TASK IMAGE FILE SPECIFIED? 

IF EQ NO 

SAVE NONVOLITILE REGISTERS 

POINT TO RELATIVE OLOCK 

INCLUDE HEADER IN DISK ALLOCATION 

BIAS R/0 DISK ALLOCATION 
GET TASK IMAGE FILE RECORD BLOCK 

GET REQUESTED ALLOCATION 

INCLUDE CHECKPOINT AREA 

COMPARE AGAINST TRUE DISK ALLOCATION 

IF HI ALLOCATE MORE DISK AREA 

ELSE Allocate just enough for task image 

COPY SIZE of FILE 
set FILE SIZE INDICATOR 
SUBTRACT OUT LABEL BLOCKS 



DF 



T$$MP 



#TSKST.F.STBK(RO) ; READ STATISTICS ON ACCESS 



R$NAME(R0).R2 
R3,F.CNTG(R0) 

?8. 

R3 
6$ 

(PC)».R1 

EtR24.StV0 

tERMSG 

#TSIKF.SSWTCH 

50$ 



t 



POINT TO NAME BLOCK 

SET SIZE OF FILE TO ALLOCATE 

OPEN TASK IMAGE FILE 
IF CC OKAY 

ALLOCATE NON-CONTIGUOUS FILE 

IF MI. RE-TRY OPEN 
ALLOCATION FAILURE 
DIAGNOSTIC 

OUTPUT ERROR MESSAGE 
CLEAR TASK IMAGE OPTION BIT 
VAMOOSA! 



••** f 15 t**« 



**«* F 15 **** 



DKALO MACRO Ml 108 U-OEC-77 09: A6 PAGE 3-2 



15 

16 00013A 

17 00013A 

18 000136 

19 OOOUO 

20 000H4 

21 000150 
22 





31 000150 

32 000152 

33 000156 



37 

38 000162 

39 0001 6A 
AO 000166 
A1 000170 
A2 000172 
A3 0001 7A 
AA 000200 
A5 00020A 
A6 000210 
A7 00021 A 
A8 000220 
A9 000222 
|6 00022A 



005703 
10000A 
012701 OOOOOOC 



10$: 



15$: 



010A00 

012701 000010 



010105 
001 A01 
005200 
01000A 
010001 

010067 000002G 
010A67 OOOOOOG 
112720 000377 

005705 
001A10 
012701 000001 



20S: 



301: 



59 000230 005305 

60 000232 002A02 

61 Q0Q23A 006301 

62 000236 00077A 



67 0002A0 005301 

68 0002A2 noUO 

69 00()2AA 

70 0052AA 012700 000256' 

71 000250 



43$: 



A5I: 
A7$: 



MOV 

BEQ 

INC 

MOV 

MOV 

CALL 

MOV 

MOV 

MOVB 

SOB 

TST 

BEQ 

MOV 



.IF 

ASH 

.IFF 

DEC 
BLT 
ASL 
BR 

.ENDC 



DEC 
MOVB 

MOV 
CALL 



TST 


R3 




: CONTIGUOUS FILE OPENED? 


BPL 


15$ 




; IF PL YES 


MOV 


/I'<S$V0*A00!E$R89>,R1 ; REPORT NON-CONTIGUOUS TASK FILE 1 


CALL 


$ERnSG 




: ISSUE DIAGNOSTIC 
; REFERENCE LABEL 


.IF 


DF 


V11A5 




MOV 


RA,R1 




: SET LOW PART OF DIVIDEND 


CLR 


RO 




: CLEAR HIGH PART OF DIVIDEND 


DIV 


#8.,R0 




: CALCULATE SIZE OF BITMAP 


.IFF 








MOV 


RA.RO 




; SET DIVIDEND 


MOV 


#8..R1 




:SET DIVISOR 


CALL 


$DIV 


. 


; CALCULATE SIZE OF BITMAP 


.ENDC 









R1,R5 

20$ 

RO 

RO.RA 

R0.R1 

$ALBLK 

R0.$8ITMP*2 

RA,$6ITMP 

#377. (RO)* 

RA.30$ 

R5 

A 7$ 

#1,R1 



DF 
R5,R1 



R5 
A5$ 
R1 
A3$ 



V11A5 



SAVE REMAINDER 

IF EQ SIZE IS RIGHT 

INCREMENT LENGTH OF BITMAP 

SAVE SIZE OF BITMAP 

SET SIZE OF BLOCK TO ALLOCATE 

ALLOCATE STORAG'= 

SE1 ADDRESS OF BITMAP 

SET SIZE OF BITMAP 

FILL BITMAP WITH ONE BITS 

REPEAT 

ANY REMAINDER? 

IF EQ NO 

GET ONE BIT FOR MASK FORMATION 



.SHIFT INTO PLACE 



R1 
R1,-(R0) 

#DKALO.RO 
$PCTRL 



DECREMENT SHIFT COUNT 

IF LT DONE 

SHIFT MASK INTO PLACE 



.-FORM PARTIAI MAP FOR FINAL BYTE 
.•INSERT FINAL BYTE 

i'GET PHASE CONTROL ROUTINE ADDRESS 
.•CALL PHASE CONTROL ROUTINE 



**** G 15 **** 



DKALO MACRO MHOS U-DEC-77 09:A6 PAGE 3-3 



**** 6 15 **** 



1 



88 

89 00025A 
190 



SOS: 



96 

97 000256 

98 000262 

99 000270 

200 000276 

201 000302 
202 

203 



.IF 



.ENDC 
RETURN 



DF 



T$$I«IP 



MOV 


#TSKOB.RO 


MOV 


TSKST.RI 


MOV 


PC.R2 


CALL 


SCBOMG ; 


TSTB 


(R0) + 


MOV 


TSKST*2.R1 


MOV 


PC.R2 


CALL 


SCBOMG 


MOV 


#TSKLM.R1 


MOV 


#<TSICME-TSKLM>.R2 


CALL 


SPUTCO 



GET ADDRESS OF OUTPUT TEMPLATE 

FIRST HALF OF LBN 

NO ZERO SURPRESS 

CONVERT 

STEP PAST DELIMITER 

GET SECOND HALF OF DISK ADDRESS 

AGAIN, NO ZERO SURPRESS 

CONVERT TO ASCII 

GET BUFFER ADDRESS 

; BUFFER LENGTH 

OUTPUT TO 'CO' 



I 



VIRTUAL SEGMENT DESCRIPTOR ADDRESS ASSIGNMENT 

THIS ROUTINE IS CALLED FOR EACH SEGMENT IN THE ALLOCATION. 



016700 
066760 
066760 
016701 



000001 



OOOOOOu DKALO: 
OOOOOOG OOOOOOG 
OOOOOOG 000002G 
OOOOOOG 



MOV 
ADD 
ADD 
MOV 
CALLR 

.END 



SCRSEG.RO :GET ADDRESS OF CURRENT SEGMENT 

SHDRBN,SSGBLK(RO) ; ADD IN RELATIVE BLK. NUMBER OF HEADER :JAK100 
SRLBLK,SSG6LKt2(R0) ; ADD IN MAX R-W DISK BLOCK :JAK100 

SCRVSG.RI ; GET VIRTUAL ADDRESS OF CURRENT SEGMENT ;**-6 
SWRMPG ; WRITE-MARK PAGE 



*•** H 15 ***• 



*••* H 15 ♦♦♦♦ 



OKALO fUCRO mi 08 1^ 


.-DEC-77 09:A6 PAGE 3-4 








SYMBOL TABLE 










B.BBFS= 000010 


F0.OSP= 004000 


F .BKVB^: 


00006/ 


F.STBIC= 


B.BFST= 000015 


FD.PLC= 000004 


F.CHR = 


000075 


F.UNIT= 


B.NXBD= 000012 


FD.PRN» 000004 


F.CNTG= 


000034 


F .URBD= 


B.VBN - 000004 


FD.PSE= 010000 


f.orm= 


000046 


F.VBN - 


CH.ANDs 000001 


FD.RAH* 000001 


F.DSPT= 


000044 


F.VBSZ= 


CR = 000015 


FD.RAN- 000002 


F.DVNM= 


000134 


HT 


DKALO 000256R 


FD.REC= 000001 


F.EFBKs 


000010 


LF 


EJR2A = ♦••♦** GX 


FD.RUMs 000001 


F.EFN = 


000050 


NB.DEV= 


E»R89 » ••♦*♦• GX 


FD.S01= 000020 


F.E0BB« 


000032 


NB.DIRs 


FA.APOs 000100 


FD.SQDr 000040 


F.ERR = 


000052 


NB.NAMs 


FA.CRE- 000010 


FD.TTY" 000004 


F.FACC= 


000043 


NB.SD1- 


FA.DLK- 001000 


FD.UBHs 000002 


F.FFBV* 


000014 


NB.SD2= 


FA.ENBs 100000 


FF = 000014 


F.FNAM< 000110 


m.sm- 


FA.EXC= 002000 


FF.CHR« 000005 


F.FNB > 


000102 


NB.STPr 


FA.EXT" OOOOOA 


FF.NV = 000003 


F.FTYPs 


000116 


NB.SVRs 


FA.NSPn 000100 


FF.POE* 000002 


F.FVERs 


000120 


NB.TYP« 


FA.POSs 010000 


FF.RWD= 000001 


F.HIBK* 


000004 


NB.VER* 


FA.RO « 000001 


FF.RWF> 000006 


F.LUN ' 


000042 


N.DID ' 


FA.RUD> 004000 


FF.SPC« 000004 


F.MBCTs 


000054 


N.DVNM' 


FA.SEQ> OAOOOO 


FO.APD" 000106 


F.MBC1« 


000055 


N.FIO ' 


FA.SHR> OOOOAO 


F0.MFY« 000002 


F.MBFG« 


000056 


N.FNAM* 


FA. TUP- 000020 


FO.RD ' 000001 


F .NRBD> 


000024 


N.FTYP= 


FA.WCIC- 020000 


F0.UPD> 000006 


F.NREC= 


000030 


N.FVERs 


FA.WRT« 000002 


F0.WRT« 000016 


F.OVBS* 


000030 


N.NEXTs 


FD.BLK« 000010 


F.ACTL= 000076 


F.RACC" 


000016 


N.STATs 


FO.CCL» 000002 


F.ALOC= 000040 


F.RATT" 


000001 


N.UNIT> 


F0.COM" 020000 


F.BBFSs 000062 


F.RCNMc 


000034 


PARtn- 


FO.CR » 000002 


F.BDB ' 000070 


F.RCTL= 


000017 


RSNAMEb 


FD.DIRs 000010 


F.BGBC= 000057 


F.RSIZ= 


000002 


Rtt11M> 


FO.FTN- 000001 


F.BKDN' 000026 


F.RTVPa 


000000 


R.FIX « 


FD.F11« 040000 


F.BKDS> 000020 
F.BKEF« 000050 


F . SEQN' 


000100 


R.SEQ - 


FD.INS' 000010 


F.SPOV« 


000072 


R.VAR s 


FD.ISP« 002000 


F.BKP1» 000051 


F.SPUN* 


000074 


SPA " 


FD.MNT- 100000 


F.BKST> 000024 








. ABS. 000000 000 










000306 001 










ERF.".I«S DETECTED: 











VIRTUAL »«MORY U:!;D; 2349 WORDS ( 10 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:20 
C31,20]DICALO.C31,30]OKALO/-SP«C31,10]MACFLM.FCSPR. OKALO 



000036 
000136 
000020 
000064 
000060 
000011 
000012 
000200 
000100 
000004 
000400 
001000 
000040 
000020 
000010 
000002 
000001 
000024 
000032 
000000 
000006 
00001 4 
000016 
000022 
000020 
000034 
000000 
****** GX 

000000 
000001 
000003 
000002 
000040 



SSGBLKs 
S$V0 = 
S.BFHO= 
S.FATT= 

s.roB = 

S.fNAM= 

S.FNB = 

S.FNBW= 

S.FNTY= 

S.FTYP= 

S.NFEN= 

TS$KF = 

VT = 

$ALBLK= 

$BITMP= 

SCRSEG= 

$CRVSGs 

SOIV = 

SOKALO 

SERMSGc 

SFSIZI= 

$HDRBN« 

SLBBLK<= 

$PCTRL« 

SRLBLKs 

$SAVRG= 

»SWTCH« 

ITSKPTr 

$WRMPG= 

ss 

.0PFNB= 
...68L= 
...TPC= 



****** GX 

****** GX 

000020 

000016 

000140 

000006 

000036 

000017 

000004 

000002 

000020 

****** 

000013 
***** GX 
***** GX 
***** GX 
***** GX 
***** QX 

OOOOOORG 
♦*•♦* GX 
***** GX 
***** GX 
***** GX 
***** 
***** 
***** 



GX 



GX 
GX 
GX 
***** GX 



***** 
***** 

000001 

****** 

000000 
000140 



GX 
GX 



•t** I y$ *••• 



***• I 15 **** 




•••* J 15 ***« 



**■• Jo **** 



DSALO MACRO m 108 U-DEC-77 09:A7 PAGE 2 



.TITLE OSALO 
. I DENT /02/ 




000004 



COPYRIGHT 1976. DIGITAL EQUIPMENT CORP.. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUT'iR SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIJED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHttiLD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 02 

C. MONIA 09-FEB-76 

ALLOCATE TASK-RESIDENT DESCRIPTORS 

LOCAL MACROS 

DEFINE SECTION EXTENSION TABLE ENTRY 

EXTSC MUL1.MUL2.ADDC0N 

WHERE : 

MULI > ADDRESS OF MULTIPLICATION CONSTANT #1 
MUL2 ' ADDRESS OF MULTIPLICATION CONSTANT *2 
ADDCON ' ADDITIVE CONSTANT 



.MACRO EXTSC MULl .MUL2, ADDCON 



tll< 



EXS17< 



.WORD 
.WORD 
.WORD 
-III 

.ENDM 



MULl 
MUL? 
ADDCON 



LOCAL DATA 

SECTION EXTENSION TABLE 



EXIBL! EXTSC SZATL.NMATL.O 
EXTSC SZREG.INUMRG.O 
EXTSC ISZSeC.INUMSG.O 
EXTSC S/WND.irSKWO.O 

T8SIZ«.-EXT8L/EXSIZ 



•••• K 15 **•• 



"""■ K 13 



DSALO MACRO Ml 108 U-OEC-77 09:47 PAGE 2-1 



58 

59 000030 

60 000032 

il 



67 
68 

69 000042 

70 000044 

71 000046 
72 

75 



NMATL: 
SGSEG: 



.BLKU 
.BLKW 
.BLKW 
.BLKW 
.BLKW 



OOOOOOG 
OOOOOOG 
OOOOOOG 



DESCRIPTOR SIZES 



SZATL: .WORD SSZATL 
ZREG: .WORD RSCLGH 
ZWNO: .WORD WSNLGH 



NUMBER OF AUTOLOAD VECTORS 
CURRENT SEGMENT DESCRIPTOR TASK ADDRESS 
ADDRESS OF SEGMENT DESCRIPTOR SECTION 
CURRENT WINDOW DESCRIPTOR TASK ADDRESS 
ADDRESS OF WINDOW DESCRIPTOR SECTION 



AUTLOLOAD VECTOR 

SIZE OF REGION DESCRIPTOR 

SIZE OF WINDOW DESCRIPTOR 



♦•-SDSALO-ALLOCATE SPACE FOR TASK-RESIDENT DESCRIPTORS 

THIS SUBROUTINE IS CALLED TO SET THE LENGTH OF PROGRAM SECTIONS 
THAT WILL CONTAINS THE FOLLOWING TASK-RESIDENT DESCRIPTORS: 

. SEGMENT TABLES 

. AUTOLOAD VECTORS 

. WINDOW DESCRIPTORS 

. REGION DESCRIPTORS 

INPUTS: 

SEGMENT TABLES 
OUTPUTS: 

THE LENGTH OF THE FOLLOWING PROGAAM SECTIONS IS ESTABLISHED 

tSALVC - AUTOLOAD VECTORS 
tSRGDS - REGION DESCRIPTORS 
ISSGD1 - SEGMENT DESCRIPTORS 
StWNDS - WINDOW DESCRIPTORS 



000050 

000050 026727 OOOOOOG 000001 

000056 003404 

000060 012700 000072' 

00006/. 

000070 

000070 



IDSALO: 



10$: 



CMP 


tNUMSG.«1 


BLE 


101 


MOV 


#DSALO,RO 


CALL 


IPCTRL 



RETURN 



TASK OVERLAID? 

IF LE NO 

GET ADDRESS CF PHASE DEPENDANT ROUTINE 

CALL PHASE CONTROL ROUTINE 



ALLOCATE DESCRIPTOR STORAGE 




DSALO I 



76 016701 OOOOOOG 



SAVRG 
*!0V 



SCWVSG.R1 



SAVE THE NONVOIATILE REGISTERS 

GET VIRTUAL ADORfSS OF CURRENT SEGMENf 



•••• 



DSALO MACRO H1 108 U-DtC-77 09:47 PAGE 2-2 



15 000102 

16 000106 

17 000112 

18 000120 

19 000122 

20 000126 

21 000132 

22 000136 

23 000U2 

24 000150 

25 000152 

26 000156 

27 000156 

28 000162 

29 000164 

30 000166 

31 000170 

32 000172 

33 000176 

34 000202 

35 000206 

36 000212 

37 000216 

38 000216 

39 000220 

40 000224 

41 000230 

42 000234 

43 000240 

44 000244 
45 

46 
47 
48 
49 

50 000246 

51 000246 

52 000250 
55 

54 
55 
56 000252 




016705 
016567 
010504 
062704 
012703 

012746 
026767 
001022 
012746 



005316 
001374 
005226 
011604 
016524 
016524 
016524 
005065 
016514 

012604 
011465 
066724 
012465 
062465 
011465 



013301 
013300 



OOOOOOG 
000004G 177710 

OOOOOOG 
000000' 

000032' 
OOOOOOG OOOOOOG 

000003 



10S: 



OOOOOOG 
000002G 
OOOOOOG 
0000C9G 
000002G 



OOOOOOG 
OOOOOOG 
000002G 
OOOOOOG 
0000026 



062301 
010146 
016401 000002 



a16014 OOOOOOG 
61660 OOOOOOG 



20$: 



CALL 

NOV 

NOV 

NOV 

ADD 

NOV 

CALL 

NOV 

CNP 

BNE 

NOV 

CALL 

DEC 

BNE 

INC 

NOV 

NOV 

NOV 

NOV 

CLR 

NOV 

NOV 
NOV 
ADD 
NOV 
ADD 
NOV 
RETURN 



tURNPG 

tCRSE6,R5 

S»GATL*4(R5), 

R5,R4 

«SSGAUT.r;4 

»EXTBL.R3 

CNPSZ 

#SGSE6.-(SP) 

tCRVSG.SRTSEG 

20$ 

#T8S1Z-1.-(SP) 



; WRITE -NARK PAGE 

: GET THE REAL ADDRESS OF CURRENT SEGNENT 

TL ; SET NUMBER OF AUTOLOAD VECTORS 

; COPY SEGNENT DESCRIPTOR ADDRESS 

; POINT TO FIRST DESCRIPTOR 

; POINT TO EXTENSION LIST 

; CONFUTE AUTOLOAD SECTION SIZE 

: PUSH ADDRESS OF LOCAL STORE 

; CURRENT : ROOT? 

' IF NE NO 

; PUSH NUNBER OF ENTRIES TO CONSIDER 



CNPSZ ; CONFUTE SIZE INCRENENT 

(Sr>) : NORE TO PROCESS? 

10$ ; IF NE NO 

(SP)» ; CLEAN STACK 

{SP),R4 ; GET ADDRESS OF LOCAL STORE 

S$GSEG<R5)-(R4)t ; SET BASE OF SEGNENT DESCRIPTORS 

S$6SE6»2<R5),(R4)t ; SET VIRTUAL ADDRESS OF SECTION 

S$6UND(RS>.(R4)t ; SET BASE OF WINDOW DESCRIPTORS 

S$GWN0<R5) ; RESET BASE ADDRESS 

S$GWND»2(R5).(R4) ; SET VIRTUAL ADDRESS OF WINDOW SEC1IPN 

(SP)t,R4 ; GET ADDRESS OF LOCAL STORE 

(R4),S$GSE''i(R5) ; SET BASE OF SEGNENT TABLES 

$SZSEG.(R4)t • UPDATE ADDRESS 

(R4)»,S$GSEG»2(R5) ; SET VIRTUAL ADDREiS 0* SFGNENT TABLE SECTIPN 

(R4)»,S$GWN0(R5) ; OFFSET Wi>««OW DESCf^IPTOR ADDRFIS 

(R4),S$GWND«2(R5) ; SET ADDRESS OF WINDOW SECTION 



CONFUTE SIZE OF PROGRAN SECTION TO CONTAIN DESCRIP'OR 



CNPSZ: 



NOV 
NOV 



a(R3)«.R1 
a(R3)t.R0 



.IF NDF vn45 



CALL 

• IFF 

NUL 

.ENDC 

ADD 

NOV 

NOV 

BEQ 

CALL 

CALL 

NOV 

ADD 



$NUL 



RO.RI 



(R3)»,R1 

RI.-(SP) 

2(A4),R1 

10$ 

tCVRL 

$WRNPG 

C$SCUR(R0),(R4) 

(SP).C$fi:UR(R0) 



GET NULTIPLIER 
GET NULTIPLICAND 



; MULTIPLY 



; NULTIPLY 



ADD ADDITIVE CONSTANT 

SAVE RESULT 

GET VIRTUAL ADDRESS OF SEC f ION 

ir EO NONE 

CONVERT TO REAl ADDRESS 

WRITE -MARK PAG(: 

SET BASE OF DE'>(R|P10R 

UPDATE lURRFNT BASE 



*«•• N 15 •••• 



DSALO MACRO Ml 108 U-OEC-77 09:47 PAGE 2-3 



172 000310 

173 000312 
17A 000316 

175 000320 

176 0OO32A 

177 000330 

178 00O33A 

179 00033A 

180 000336 

181 0003A0 
182 

183 



103011 
01U60 
010002 
062702 
012701 



005226 
02242A 



000001 



OOOOOOG 

OOOOOOG 
OOOOOOC 



10$: 



BCC 
MOV 
MOV 
ADD 
MOV 
CALL 

INC 
CMP 
RETURN 

.END 



10S 

(RA),CSSCUR(RO) 
R0.R2 
«S$VM,R2 



IF C/C OK 

RESET CURRENT BASE 
COPY ADDRESS OF SECTION 
POINT TO SECTION NAME 
*<SSV0*400!E»R19>,R1 ; GET ERROR/SEVERITY 
SERMSG : REPORT SECTION OVERFLOW 



(SP)* 
(R4)*.(RA)» 



CLEAN STACK 

POINT TO NEXT SECTION 



**** N IS **** 



DSALO MACHO W1108 
SYMBOL TABLE 



"A-DEC-?? 09:A7 PAGE 2-A 



CMPSZ 
CR « 
CiSCURs 
DSALO 
EXSIZ > 
EXTBL 
E»R19 « 
FF • 
HT 

. ABS. 



000246R 

000015 

****** GX 

0OOO72R 

000006 

OOOOOOR 

****** GX 

OOOOH 

000011 



LF 

NMATl 

RtGLGHx 

Rtl11M> 

SGSEG 

SPA = 

SZATL 

SZREG 

SZWND 



000012 
000030R 

****** GX 

000000 

000032R 

OOOOAO 

0000A2R 

OOOOAAR 

0000A6R 



S$6ATL= 
SIGAIJTs 
StGSEG' 
SSGWND' 
S»V0 « 

ssrM « 

SSZATL* 
TBSIZ > 

VT 



OOOOOA 
000013 



*♦ GX 

♦ » GX 
•• GX 
♦♦ GX 

• * GX 
** GX 

GX 



WSNLGHs 

SCRSEGo 

tCnVSG' 

ICVRL « 

SDSALO 

SERMSG' 

SMUL « 

SNUMRG- 

SNUMSG' 



****** GX 

****** GX 
****** GX 

*****w GX 
OOOOSORG 

****** QX 

<»***** GX 
****** GX 
****** GX 



IPCTRL 

$RTSEG> 

$SAVRG< 

SSZSE6« 

STSKWD* 

$WRMPG< 

ss 

SSS s 



s ****** 



****** 
****** 

****** 
U000J1 
000022R 



GX 
GX 
GX 
GX 
GX 
GX 



000000 000 

0OO3A2 001 

ERRORS DETECTED: 

VIRTUAL MEMORY USED: 835 WORDS ( A PAGES) 
DYNAMIC MEMORY: 1S7AA WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:10 

C31 ,20]DSALO.C31 .303DSALO/-SP«CS1 .103MACFLM.DSAL0 
" w 



•••• B 16 **** 



t*** B 16 **** 




•*»• c 16 *••* 



•*** c 16 **** 



ERMSG MACRO Ml 108 U-DEC-77 09:A7 PAGE 2 



I 




. TITLE ERMSG 
.IDENT mi 



COPYRIGHT (C) 1976,1977 

DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 27 

D.N. CUTLER 16-0CT-72 



;**-1 



;**-1 



\ 
1 

; MODIFICATIONS 






; NO. 


DATE 


PROGRAMMER 


; 004 


4-AUG-73 


C. MONIA 


; 0«7 


17-FEB-76 


C. MONIA 


; 051 


02-MAR-76 


C. MONIA 


; 052 


28-MAR-76 


C. MONIA 


• 06 


17-MAY-76 


C. MONIA 


• i^2 


30-MAY-76 


C. MONIA 


; )64 


28-.IUN-76 


C. MONIA 


; 072 


12-NOV-76 


C. MONIA 


; JAK106 

\ 
\ 


30-AUG-77 


ADO EXIT WITH STATUS 



ERROR MESSAGE ROUTINE 
EQUATED SYMBOLS 




; INITIAL SIZE OF TEMP BUFFER 
; NUMBER OF MESSAGES IN GROUP \ 
;SEV 0«DIAGNOSTir MESSAGE 
;SEV 1'OiAG W TERM IN/FATAL IF NOT 
.•SEV 2-FATAL ERROR 



••** p 16 *•*• 



•*** p 16 **** 



ERNSG MACRO M1108 U-DEC-77 09:A7 PAGE 2-1 



OOOOOO 
11 
12 OOOOOO 

U OOOOOO 124 



113 



MACRO LIBRARY CALLS 

.IF NDF R$S11M 

.MCALL CLOSES, DIRS. PUT$.RCML$ 

.IFF 

.MCALL CLOSES, DIRS, QIOS.QIOSYS.RCMLS.WTSFSS 

.ENDC 

LOCAL MACROS 

ERROR MESSAGE DEFINITION 

ERM NUM, FORMAT 

WHERE : 

NUM>ERROR NUMBER. 
; FORMAT»ERROR MESSAGE FORMAT STATEMENT. 
t 

.MACRO ERM NUM, FORMAT 
ESR'NUM»NUM'. 
ESRMAX=«NUM' . 

.NCHR SZ.<FORMAT> 

.IF GT SZ-MXBF 
MXBFsS; 

.ENDC 

.IF LE ESRMAX-MSSG1 

.PSECT ETX1SD,D,6BL 

.IFF 

.PSECT ETX2SD,D,GBL 

.ENDC 
NN>. 

.ASCIZ "FORMAT" 

•PSECT EPTSD.D.GBL 
.«SMS6»<2*NIJM'.> 

.WORD NN 

.PSECT 

.ENDM 

LOCAL DATA 



SAR6BK:!.BLKW ? ; LOCAL ARGUMENT BLOCK 

.PSECT TXT 
102 A8MSG: .ASCII /TKB — *FATAL*-RUN ABORTED/; ABORT MESSAGE 



*••• E 16 **** 



**** E 16 **** 



ERMSR MACRO mi08 U-DEC-77 09:A7 PAGE 2-2 



000003 
000006 
000011 
00001 A 
000017 
000022 
000025 
000030 



OAO 
OAO 
101 
11A 
122 
OAO 
117 
105 
000032 

000000 

000000 
000006 



' 



128 

129 000006 

130 000006 

131 000006 

132 000006 

133 000006 
13A 000006 

135 000006 

136 000006 

137 000006 

138 000006 

139 000006 
1A0 000006 
1A1 000006 
1A2 000006 
1A3 000006 
1AA 000006 
1A5 000006 



055 
052 
12A 
052 
125 
101 
122 
10A 



055 
106 
101 
055 
116 
102 
12A 



ABMSE: 



SnSG:: 



.PSECT EPTSD.D.GBL 



.PSECT 



; REF. LABEL 



ERROR MESSAGES 



.IF 

ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 



\HO \nnAnn 
1A7 000006 


ERM 


1A8 000006 


ERM 


1A9 000006 


ERM 


li??TO 


ERM 
ERM 


152 000006 


ERM 


153 000006 


ERM 


15A 000006 


ERM 


56 000006 


ERM 
ERM 


157 000006 


ERM 


158 000006 


ERM 


159 000006 


ERM 


160 000006 


ERM 


161 000006 


ERM 


IS8WS 


ERM 
ERM 



NDF 

0. 
1, 
2, 
3.* 

A,* 

5. 

6.» 

7.» 

8.* 

l6. 
11. 
12. 
13. 
U, 
15. 
16. 
17. 
18. 
19. 
20. 
21. 
22, 
23. 
2A. 
25. 



28. 

?§: 

31. 



5A. 



SSSMSG 

/ILLEGAL GET COMMAND LINE ERROR C0DEX2N/ 

\C0MMAND SYNTAX ERR0RX2NSVAS2N\ 

\REQUIRED INPUT FILE MISSINGX2N\ 

MLLEGAL SWITCHX2NtVAX2N\ 

\N0 DYNAMIC STORAGE AVAILABLEX2N\ 

/ILLEGAL ERROR-SEVERITY CODE XP XP XPX2N/ 

\COMMAND I/O ERR0RX2N\ 

MNDIRECT FILE OPEN FAILUREX2NXVAX2N\ 

MNDIRECT COMMAND SYNTAX ERR0RX2NXVAX2N\ 

MNDIRECT FILE DEPTH EXCEEDEDX2NXVAX2N\ 

*\I/0 ERROR ON INPUT FILE XXX2N\ 

*/OPEN FAILURE ON FILE XXX2N/ 

•/SEARCH STACK OVERFLOW ON SEGMENT X2RX2N/ 

*/PASS CONTROL STACK OVERFLOW AT SEGMENT X2RX2N/ 

*/FILE XX HAS ILLEGAL F0RMArX2N/ 

"VMODULE X2R AMBIGUOUSLY DEFINES P-SECTION X2RX2N\ 

*\MODULE X2R MULTIPLY DEFINES P-SECTION X2RX2N\ 

'/MODULE X2R MULTIPLY DEFINES XFR ADDR IN SEG X2RX2N/ 

•/MODULE X2R ILLEGALLY DEFINES XFR ADDR X2R XPX2N/ 

•/P-SECTION X2R HAS 0VERFL0WEDX2N/ 

•\M0DULE X2R AMBIGUOUSLY DEFINES SYMBOL X2RX2N\ 

•\MODULE X2R MULTIPLY DEFINES SYMBOL X2RX2N\ 

•MNSUFFICIENT APRS AVAILABLE TO MAP READ-ONLY R00TX2N\ 

•NSEGMENT X2R HAS ADDRESS OVERFLOW: ALLOCATION DELETEDX2N\ 

•/ALLOCATION FAILURE ON FILE XXX2N/ 

•\I/0 ERROR ON OUTPUT FILE XXX2N\ 

•/LOAD ADDR OUT OF RANGE IN MODULE X2RX2N/ 

•/TRUNCATION ERROR IN MODULE X2RX2N/ 

•VXD UNDEFINED SYMBOLS SEGMENT X2RX2N\ 

•/INVALID KEYWORD I0ENTIF1ERX2NXVAX2N/ 

•\OPTION SYNTAX ERRORX2NXVAX2N\ 

•/TOO MANY PARAMETERSX2NXVAX2N/ 

•/ILLEGAL MULTIPLE PARAMETER SETSX2NXVAX2N/ 

•/INSUFFICIENT PARAMETERSX2NXVAX2N/ 

•/TASK HAS ILLEGAL MEMORY LlMrSX2N/ 



*••* f 16 ***• 



♦**• F 16 ••♦* 



ERMSG MACRO mi 08 U-DEC-77 09:47 PAGE 2-3 



16A 000006 

165 000006 

166 000006 

167 000006 

168 000006 

169 000006 

170 000006 

171 000006 

172 000006 

173 000006 
17A 000006 
175 000006 
176 

177 
178 
179 
180 
181 
182 

183 000006 

184 000006 
185 

186 
187 
188 
189 
190 
191 
192 

193 000006 

194 000006 

195 000006 

196 000006 

197 000006 

198 000006 

199 000006 

200 000006 

201 000006 

202 000006 

203 000006 

204 000006 

205 000006 

206 000006 

207 000006 

208 000006 

209 000006 

210 000006 

211 0C0006 

213 000006 

214 000006 

215 000006 

216 000006 

217 000006 

i!in 

220 000006 



/OVERLAY DIRECTIVE HAS NO 0PERANDSX2NJ;VAX2N/ 
/ILLEGAL OVERLAY 0IRECTIVEI2NXVAI2N/ 
/OVERLAY DIRECTIVE SYNTAX ERRORI2N«VAX2r: ' 
/ROOT SEGMENT IS MULTIPLY DEFINED«2NXVAX.;N/ 
/LABEL OR NAME IS MULTIPLY DEFINEDX2NXVAI2N/ 
/NO ROOT SEGMENT SPECIFIEDX2N/ 
/BLANK P-SECTION NAME IS ILLE6ALI2NXVAX2N/ 
\ILLEGAL P-SECTION/SEGMENT ATTRIBUTEX?NXVAX2N\ 
/ILLEGAL OVERLAY DESCRIPTION OPERATORX2NXVAX2N/ 
\T00 MANY NESTED .ROOT/.FCTR DIRECTIVESX2NXVAX2N\ 
\T00 MANY PARENTHESES LEVELSX2NXVAX2N\ 
^UNBALANCED PARENTHESESX2NXVAX2N\ 

.IF NDF RSSIIM 

ERM 47,VIl LEGAL BASE OR TOP ADDRESS OFFSET XDX2N/ 

.ENDC 

ERM 48.V1LLEGAL LOGICAL UNIT NUMBERX2NXVAX2N/ 
ERM 49.VILLEGAL NUMBER OF LOGICAL UNITSX2NXVAX2N/ 

.IF NDF RSSIIM 



ERM 


35.* 


ERM 


36,* 


ERM 


37.* 


ERM 


38.* 


ERM 


39.* 


ERM 


40,* 


ERM 


41.* 


ERM 


42.* 


ERM 


43,* 


ERM 


44,* 


ERM 


45,* 


ERM 


46,* 



ERM 
ERM 

.ENDC 

ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 



51,*/ILLEGAL BASE OR TOP BOUNDRY VALUE X2NXVAX2N/ 
52,*/ILLEGAL POOL USAGE NUMBER SPECIF IEDX2NXVAX2N/ 



53.*/lLLEGAL DEFAULT PRIORITY SPECIF IEDX2NXVAX2N/ 

54.*/ILLEGAL ODT OR TASK VECTOR S1ZEX2N/ 

55,*V1LLEGAL FILENAMEX2NXVAX2N\ 

56,*\ILLE6AL DEVICE/V0LUMEX2NXVAX2N\ 

57,*\L0OICUP FAILURE ON FILE XXX2N\ 

58.*\ILLEGAL DIRECTORYX2NXVAX2N\ 

59,*\INC0MPATABLE REFERENCE TO LIBRARY P-SECTION X2RX2N\ 

60,*\ILLEGAL REFERENCE TO LIBRARY P-SECTION X2RX2N\ 

61,*\RESIDENT LIBRARY MEMORY ALLOCATION C0NFL1CTX2NXVAX?N\ 

62,*\L00KUP FAILURE RESIDENT LIBRARY FILEX2NXVAX2N\ 

64.*\ILLEGAL PARTITION/COMMON BLOCK SPECIF IEDX2NXVAX?N\ 

65,*\NO MEMORY AVAILABLE FOR LIBRARY X2RX2N\ 

66,*\PIC LIBRARIES MAY NOT REFERENCE OTHER LIBRARIESXNXVA\ 

67.*\1LLEGAL APR RESERVATIONXNXVAV 

68,*\I/0 ERROR LIBRARY IMAGE FILEXNXVAV 

70.*\REQUIRED PARTITION NOT SPECIF IEOX.?N\ 

71.*\INVAL1D APR RESERVATIONXNXVAV 

72, "VCOMPLEX RELOCATION ERROR-DIVIDE BY ZERO MODULE X2RX2N\ 

73.*\WORK FILE I/O tRR0RX2N\ 

74.*\LOOKUP FAILURE ON SYSTEM LIBRARY FILEX2N\ 

75,*\UNA8Le TO OPEN WORK FILEX2N\ 

76,*\N0 VIRTUAL MEMORY S10RAGE AVAlLAaLEX2N\ 

77,*\M0DULE X2R NOT IN LIBRARYX2N\ 

78.*\INCORRECT LIBRARY MODULE SPECIF ICATI0NXNXVAX2N\ 

79,*\L18RARY FILE XX HAS INCORRECT F0RMATX2N\ 
9.*\RESIDENT LIBRARY HAS INCORRECT ADDRESS ALIGNMENTX2NXVAX?N\ 
1,*\PARTITI0N X2R HAS H LEGAL MEMORY LIMirsX?N\ 
2.*\INVALID PARI IT ION/COMMON BLOCK SPEClf 1FDX?NXVAX2N\ 



•••• G 16 *••* 



ERHSG MACRO Ml 108 1A-0EC-77 09:A7 PAGE 2-A 



**** G 16 **** 



221 000006 

222 000006 

223 000006 
22A 000006 

225 000006 

226 000006 

227 000006 

228 000006 

229 000006 

230 000006 

231 000006 
232 

233 000006 

23A 

235 

236 

237 

238 

239 

240 

2A1 

242 

2A3 

2AA 

2A5 

2A6 

2A7 

2A8 

2A9 

250 

251 

252 

253 

25A 

255 

256 

257 

258 

259 

260 

261 

26| 



ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 

ERM 
.IFF 

ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 
ERM 



83,*\rASK BUILD ABORTED VIA REQUESTS2NXVAS2N\ 
8A,*\DISK IMAGE CORE ALLOCATION TOO LARGE X2NtVAS2N\ 
85.*\INVALID WINDOW BLOCK SPECIFICATJ0NX2NSVaX2N\ 
86,*\TASK REQUIRES MORE THAN 8. WINDOW BL0CK:iX2N\ 
87,»\TASIC HAS ILLEGAL PHYSICAL MEMORY LIMITSXNXP XP %PX2H\ 
88,*\LIBRARY REFERENCES OVERLAID LIBRARYX2NXVAt2N\ 
89,''\TASK IMAGE FILE XX IS N0N-C0NTIGU0USX2N\ 
90.*\VIRTUAL SECTION HAS ILLEGAL ADDRESS LIMITSX2NXVAX2N\ 
91.*\FILE XX ATTEMPTED TO STORE DATA IN VIRTUAL SECTI0NX2N\ 
92,»\RESIDENT LIBRARY MAPPED ARRAY ALLOCATION TOO LARGE X2NXVAX2N\ 
93.*\INVAL1D REFERENCE TO MAPPED ARRAY BY MODULEX2RX2N\ 



XP\ 



9A,*\END OF FILE REACHED BEFORE .END IN XXX2N\ 



1.»\X2NXVA\ 

2 

3.*\X2NXVA\ 

A,»\X2N\ 

5,*\XP XP 

6 

7.*\X2NXVA\ 

8.»\X2NXVA\ 

9.*\X2NXVA\ 

10.*\XX\ 

11,*\XX\ 

12.*\X2R\ 

13.»\X2R\ 

1A.*\XX\ 

15.»\X2R 

16.»\X2R 

17.»\X2R 

18.»\X2R 

19,*\X2R\ 

20,*\X2R 

21,»\X2R 

22.*\X2N\ 

23.*\X2R\ 

2A,*\XX\ 

25,*\XX\ 

26,»\X2R\ 

27,*\X2R\ 

28.*\XD X2R\ 

29,*\X2NXVA\ 

30,''\X2NXVA\ 

31,»\X2NXVA\ 

32,*\X2N»VA\ 

33.*\X2NXVA\ 

h 

35.»\X2NXVA\ 
36,*\X2NXVA\ 
37,*\X2NIVA\ 



;JAK100 



X2R\ 
X2R\ 
2R\ 
X2R 

X2R\ 
X2R\ 



XP\ 



38,*\X2NIVA\ 
S9.»\X2NXVA\ 
AG 
A1.*\X2NXVA\ 



•••• H 16 •*** 



**** H 16 **** 



ERHSG MACRO Ml 108 U-DEC-77 09:A7 PAGE 2-5 

278 ERM 42.*\X2NJ[VA\ 

279 ERM A3,*\X2NXVA\ 

280 ERM AA.*\J2NXVA\ 

281 ERM 45,*\I2NXVAV 

282 ERM 46.*\X2NXVA\ 
283 

28A -IF NDF RSS11M 

285 

2% ERM 47,*\«0\ 

287 

288 .ENDC 

289 

290 ERM A8.»\»2NXVA\ 

291 ERM «9.*\I2NXVA\ 
292 

293 .IF NDF R$$11M 

29A 

295 ERM 51.»\I2NIVA\ 

2% ERM 52.*\X2NXVA\ 

297 

298 .ENDC 

299 

300 ERM 53.*\I2NJ[VA\ 

301 ERM 5A 

302 ERM 55.*\I2NXVA\ 

303 ERM 56.*\I2NJ[VA\ 
30A ERM 57.*\IX\ 

305 ERM 58.*\I2N«VA\ 

306 ERM 59.»\J2R\ 

307 ERM 60,*\J2R\ 

308 ERM 61,*\I2NXVA\ 

309 ERM 62.*\X2NJVA\ 

310 ERM 64,»\«2NIVA\ 

311 ERM 65,»\I2R\ 

312 ERM 66,*\IN«VA\ 

313 ERM 67.»\INXVA\ 
3U ERM 68.*\INSVA\ 
315 ERM 70 

ERM 71,*\INXVA\ 

ERM 72.*\I2R\ 

ERM 73 

ERM 74 

ERM 75 

ERM 76 

ERM 77,»\I2PI2N 

ERM 7B.*\INIVAS2N\ 
79/ 



ERM 79. "MH I2N\ 

ERM 80.*\I2NXVAX2N\ 

ERM il.»\l|RI2N\ 

ERM 82,*\||nXVAX2N\ 

ERM |S.*\X|nXVAX2N\ 

ERM 84.*\X|nXVAX2N\ 

ERM 85.*\X2NXVAX2N\ 

ERM i6.*\l2N\ 

ERM 87."\XP XP XP X2N\ 

ERM 88.*\XVAX2N\ 

ERM 89.»\XXX2N\ 



•••• I 16 **** 



ERMSG MACRO Ml 108 U-DEC-77 09:A7 PAGE 2-6 



**** I 16 **** 



ERM 
ERM 
ERM 
ERM 

.ENDC 



90,*\X2N«VAKN\ 
91.'»\IXX2N\ 
92,»\XVAJ2N\ 
93.*\12RX2N\ 



REDEFINE ERROR MESSAGE MACRO TO FREE UP MACRO STORAGE 



.MACRO ERM 
.ENDM 


NUM. FORMAT 


.PSECT 




.IF OF 


RSSIIM 



DEFINE QIO DPS PARAMETERS 



QIOSYS 



; 



QIO DPB FOR ERROR MESSAGE OUTPUT 
CODPB: QIOS IO.WVB,2,2,,COSTS.,<0,0.«0,0,0.0> 

CONSOLE OUTPUT I/O STATUS DOUBLE WORD 

COSTS: .BLKW 2 
.ENDC 

**-SERMSG-ERROR MESSAGE ROUTINE 

THIS ROUTINE IS CALLED TO OUTPUT AN ERROR MESSAGE. THE SEVERITY OF 
THE ERROR IS USED TO SELECT A PREFIX THAT IS TO BE OUTPUT WITH THE 
MESSAGE. THE ERROR NUMBER SPECIFIES AN ERROR FORMAT WHICH IS PASSED 
TO SEDMSG TO EDIT THE ERROR MESSAGE. THE RESULTANT ERROH MESSAGE IS 
THEN OUTPUT USING THE ROUTINE ERRORS. IF THE SEVERITY OF THE ERROR 
IS 2. ABSRT IS SET, OR THE SEVERITY OF THE ERROR IS 1 AND THE INPUT IS 
NOT COMING FROM A TERMINAL, THEN THE CURRENT BUILD IS TERMINATED. ELSE 
A RETURN TO THE CALLER IS EXECUTED. 

INPUTS! 



t R1>ERR0R/SEVERITY NUMBERS. 

; R2«ARGUMENT BLOCK ADDRESS. 

OUTPUTS! 



***• J \i *••* 



ERMSG MACRO Ml 108 U-DEC-77 09:A7 PAGE 2-1 



**** J 16 **** 



192 
93 
19A 
95 

;% 

97 
98 
99 

00 0000A2 

01 0OOOA6 

02 000052 

03 000056 
OA 000060 

000064 

06 000070 

07 000072 

08 000100 

09 000102 

10 000106 

11 000110 

12 000110 

13 0001U 
U 000116 

15 00012A 

16 000126 

17 00013A 

18 000134 

19 000136 

20 000136 

21 000U4 

22 000150 

23 0001 5A 

24 000162 

25 000164 

26 000170 

27 000172 

28 000172 

29 000176 

30 000176 

31 000202 

32 000206 
S3 000212 
34 

35 
36 
37 
38 
39 
40 
41 

:« 

44 
45 

« 

48 



• 

I 
;- 

SERMSG: 



010102 
012701 

103422 
032767 
001403 
005367 
003413 

020327 
103010 
026727 
103003 
012767 



OOOOOOG 

OOOOOOG OOOOOOG 
OOOOOOG 

000002 

OOOOOOG OOOOOOG 

OOOOOOG OOOOOOG 



Sit 



012767 OOOOOOG OOOOOOG 



7$: 
10$: 



032767 
001403 
005767 
003402 



OOOOOOG OOOOOOG 
OOOOOOG 



000167 OOOOOOG 



012701 
012702 



000000' 
000032 



15$! 

20S: 



000167 OOOOOOG 



IF THE SEVERITY OF THE ERROR IS FATAL OR ABSRT IS SET. THEN 
THE CURRENT BUILD IS TERMINATED BY CLOSING ALL OPEN FILES AND 
JUMPING TO THE RESTART ADDRESS IN THE ROOT SEGMENT. 

CARRY IS SET IF A RE1 URN TO THE CALLER IS MADE 



:SAVRG 
CALL 
CALL 
MOV 
MOV 
CALL 

en 

BEQ 
DEC 
BLE 

CMP 

BHIS 

CMP 

BHIS 

MOV 

RETURN 

MOV 

CALL 

CALL 

BIT 

BEQ 

TST 

BLE 

JMP 

MOV 
MOV 
CALL 
JMP 





SAVE NONVOLITILE REGISTERS 


SPRCER 


GET UNFORMATTED TEXT 


SEDMSG 


FORMAT OUTPUT 


R1,R2 


COPY BYTE COUNT 


nOUTBF.RI 


GET BUFFER ADDRESS 


fPUTCO 


OUTPUT MESSAGE 


10$ 


IF C/S LEAVE NOW 


#AB$RT,$SWTCH 


ABORT ON ERROR? 


5$ 


IF EQ NO 


SERRCT 


DECREMENT ERROR COUNT 


10$ 


• IF LE ENFORCE ABORT SWITCH NOW 


R3,#S$V2 


• FATAL ERROR? 


10$ 


• IF HIS YES 


$EXST3,#EX$ERR 


• SEEN A WORSE ERROR? 


7$ 


• IF HIS YES 


«EX$ERR.$EXSTS 


• SET EXIT STATUS 



«EX$SEV,$EXSTS 

$POPCL 

$CMLCL 

«AB$RT.$SWTCH 

15$ 

$ERRCT 

20$ 

SnjTRT 



SET EXIT STATUS 

RESET COMMAND LINE INPUT 

ABORT ON ERROR? 

IF EQ NO 

TIME TO ENFORCE EXIT? 

IF LE YES 

RESTART 



;JAK106 
;JAK106 
;JAK106 
;JAK106 



;JAK106 



fASMSG.RI : GET BUFFER ADDRESS 

#<ABMSE-AaMSG>,R2 ; BYTE COUNT 
$PUTCO ; OUTPUT MESSAGE 

$QU1T ; EXIT 



SUBROUTINE TO ISSUE A MESSAGE TO DEVICE 'CO' 

INPUTS: 

R1: BUFFER ADDRESS 
R2: BYTE COUNT 

OUTPUTS! 

C-CLEAR: SUCCESS, MESSAGE IS PRINTED ON DEVICE 'CO' 

C-SETi REQUEST FAILED 



•••• K 16 •♦•• 



•••• K Id **•• 



ERMSG MACRO MHOS U-DEC-77 09:A7 


4A9 000216 




A50 




A51 




A52 




A53 




ASA 




A55 




A56 




A57 




A58 000216 


012700 000022' 


Ab9 000222 


010120 


A60 00022A 


010220 


A61 000226 




A62 00023A 


103A07 


A63 000236 




A6A 000250 


106167 177562 


A65 00025A 




A66 0On25A 




A67 




A6e 




A69 




A70 


000001 



PAGE 2-8 



$PUTCO:: 



10$: 



.IF 

PUTS 
RETURN 

.IFF 

MOV 

MOV 

MOV 

DIRS 

BCS 

UTSESS 

ROLB 

RETURN 

• ENDC 

.END 



NDF RSS11N 
SCM0PT,R1,R2 

#<C0DPB*Q.10PL>.R0 ; POINT TO DPB PARAMETERS 

R1.(R0)» ; SET BUFFER ADDRESS 

R2.(R0)+ ; BYTE COUNT 

#CODPB ; ISSUE QIO DIRECTIVE 

10S ; EXIT ON FAILURE 

*2 ; WAIT FOR I/O COMPLETION 

COSTS ; MOVE SIGN BIT TO 'C 

; EXIT 



•••* L 16 **** 



L lO wwww 



ERMSG 


MACRO M1 108 U- 


DEC-77 09:47 PA 


SYMBOL 


TABLE 






ABMSE 


000032R 002 


ESR56 


= 000070 G 


ABMSG 


OOOOOOR 002 EW57 


= 000071 6 


ABSRT 


X *•**«* GX 


ESR58 


= 000072 6 


CQOPB 


000006R 


E»R59 


= 000073 G 


COSTS 


000036R 


E$R6 


< 000006 G 


CR 


» 000015 


ESR60 


= 000074 G 


EXSERR 


B ****** GX 


E$R61 


= 000075 G 


EXtSEV 


s ****** GX 


ESR62 


= 000076 G 


EtRMAX 


> 000136 G 


ESR64 


= 000100 G 


EtRO 


= 000000 G 


ESR65 


= 000101 6 


ESR1 


' 000001 G 


ESR66 


' 000102 G 


EtR10 


" 000012 G 


E»R67 


= 000103 G 


ESR11 


» 000013 G 


ESR68 


* 000104 G 


EtR12 


' OOOOU G 


E»R7 


= 000007 G 


E»R13 


" 000015 G 


ESR70 


* 000106 G 


ESRU 


. 000016 G 


:»R71 


« 000107 G 


ESR15 


' 000017 G 


[tR72 


«= 000110 G 


ESR16 


> 000020 G 


E»R73 


« 000111 G 


ESR17 


' 000021 G 


E»R74 


" 000112 6 


ESR18 


« 000022 G 


EIR75 


» 000113 G 


EIR19 


• 000023 G 


:SR76 


' 000114 G 


EtR2 


■ 000002 G 


E»R77 


« 000115 G 


EM20 


' 00002A G 


E$ft78 


' 000116 6 


E«R21 


' 000025 G 


:SR79 


« 000117 G 


E»R22 


> 000026 G 


:tR8 


c 000010 G 


EtR23 > 


. 000027 G 


flR80 ' 


' 000120 G 


EtR2A 


' 000030 6 


:tR81 


• 000121 G 


EIR2S • 


> 000031 G 


■$R82 


> 000122 G 


E$R26 < 


' 000032 G 


flR83 ' 


' 000123 G 


EM27 > 


' 000033 G 


:SR84 


' 000124 G 


ESR28 > 


' 000034 G 


:SR85 > 


> 000125 G 


EtR29 ' 


' 000035 G 


:IR86 ' 


' 000126 G 


EM3 


• 000003 G 


:IR87 > 


' 000127 G 


EtR30 < 


' 000036 G 


ftR88 ' 


' 000130 G 


EtR31 ' 


• 000037 G 


;IA89 > 


' 000131 6 


EtR32 > 


' 000040 G 


!SR9 > 


' 000011 G 


EtR33 ' 


' 000041 G 


;IR90 < 


' 000132 G 


EtR34 > 


• 000042 G 


!M91 : 


' 000133 G 


EM35 < 
E«R36 « 


; §88844 G 1 


itR92 > 
ilR93 . 


• 000134 G 
> 000135 6 


EM37 . 


t 000045 G 1 


:SR94 < 


■ 000136 G 


ElR3a ' 


1 000046 G 


ff 


' 000014 


ESR39 < 


• 000047 G 1 


<T 


•.^l] 


ESR4 ' 


> 000004 G 


E.ABO' 


EIR40 ' 


' 000050 G 


E.ACT« 


' \7777\ 


EtR41 > 


■ 000051 G 


E.AOP" 


' 177636 


EIR42 > 
EtR43 ' 


' 000053 G 


E.ALC" 


' 177654 


E.ALG' 


' 177654 


EIR44 ' 
EtR43 • 


:ffi§ 


E.ALN' 
E.AST. 


' 177^36 
r 177660 


EIR46 > 
EIR48 ' 


' WSi G 


E.BAD- 
E.BBE' 


• \77777 
177710 


EIR49 - 


)Q0<)61 G 


E.BCC' 


177676 

177714 


EtR5 • 


i)()Q0o5 G 


E.BDI' 


EIR55 . 


000065 G 


F .BDR' 


177716 


EtR;4 • 


000066 G 


E.BDV' 


177711 


EfR5S . 


000067 G 


E.BHD* 


1 77700 



2-9 



IE.BL8= 


177672 


IE.NNN= 


IE.BLK= 


177754 


IE-N0D= 


lE.BMM 


177712 


IE.NSF= 


IE.8TF= 


177664 


IE.NST= 


IE.8TP= 


177725 


IE.NVR= 


lE.BVR: 


177701 


lE.NVW:: 


IE.8YT= 


177755 


IE.OFL= 


IE.CKP= 


177766 


lE.ONP* 


lE.CKSs 


177742 


IE.OVR= 


lE.CLOs 


177732 


IE.PES= 


lE.CNR- 


177667 


lE.PNS^ 


1E.C0N= 


177752 


IE.PRI= 


IE.DAA» 


177770 


1E.PTS= 


lE.DAO' 


177763 


IE.RAC= 


IE.DFU« 


177750 


lE.RATs 


lE.DNA^ 


177771 


lE.RBGs 


lE.DNR- 


177775 


lE.RBS' 


lE.DUNs 


177767 


lE.RCN* 


lE.DUP" 


177707 


IE.RER> 


IE. EOF* 


177766 


IE.RNM= 


IE.EOT« 


177702 


lE.RSU' 


1E.E0V» 


177765 


lE.SDP' 


IE.EXP« 


177665 


IE.SNCb 


IE.FEX« 


177717 


lE.SPC' 


IE.FHE« 


177705 


lE.SQCc 


1E.FIX» 


177767 


lE.SRE-: 


IE.FLN« 


177657 


lE.STK' 


1E.F0P« 


177713 


1E.TCH« 


1E.HFU« 


177744 


lE.TMM* 


lE.HWR* 


}77772 


lE.TMO* 


1E.IBS» 


177647 


lE.ULK* 


lE.lDU* 


177644 


lE.ULN' 


IE.IEF« 


177637 


lE.UNS* 


E.IES* 


177656 


lE.UPN" 


E.IFC« 


177776 
177747 


IE.VER> 


E.IFU« 


IE.WAC> 


E.JLL« 


177726 


IE.WAT> 


E.ILU« 


177640 


lE.WCK* 


E.1NS» 


)77776 


lE.yER* 


E.IPR> 


177641 


lE.WLK* 


E.ISQ> 


YrV^ 


lE.WOV* 


E.lTl- 


IE.2DV* 


E.ITP. 


177650 


10. ACE* 


E.lTSf 


177770 


IO.ACR> 


E.IUl' 


177645 


IO.ACW<= 


E.LCK- 


177745 


lO.ADS^^ 


E.LNL' 


177646 


lO.APC' 


E.MO0« 


177753 


lO.APVa 


E.NBF* 


177731 


10.ATA> 


E.NBK- 


\7772? 


lO.ATT- 


E.NDR> 


177670 


10. CAS' 


E.NFI- 


17770- 
17767: 


lO.CBO* 


E.NFW 


lO.CCI* 


E.NLK" 


17766 
17766! 


lO.CCO* 


E.NLN- 


lO.ClNs 


E.NNC« 


lO.CLN* 


E.NNL« 


177662 


lO.CNT* 




*••« 


M 16 •••• 



177674 

177751 

177746 

177660 

177652 

177651 

177677 

1 77775 

177756 

177655 

177642 

177760 

177775 

177724 

177723 

177730 

177761 

}77722 

177740 

177715 

177757 

177635 

177735 

}77772 

\777lk 

177762 

}77706 

177765 

177671 

1 77666 

177653 

\7777l 

\77771, 

\77777 

\7777t, 

\777^^ 

U77t>] 

177652 

177737 

177764 

177653 

1 77720 

007400 

006400 

007000 

014000 

014000 

014010 

oouig 
oouoo 

015420 

014000 
000440 
016500 
003400 
017000 



I0.C0N= 

lO.CPR- 

IO.CPU= 

IO.CRC= 

IO.CRE= 

IO.CRJ= 

IO.CS«= 

IO.CTI= 

IO.CTL= 

IO.CTR= 

lO.CTYs 

lO.DAC- 

10.DCI« 

IO.DEL« 

10.0ET= 

IO.DIS« 

IO.DLB< 

10.DTI» 

lO.DTY" 

IO.ENA> 

10.E0F« 

lO.EXT' 

I0.FDX» 

I0.FLN« 

lO.FNA* 

lO.GLC* 

lO.GLl* 

lO.GNl* 

IO.GRC= 

I0.GR1= 

10. CRN' 

IO.GTS= 

IO.HDX= 

IO.HIS« 

IO.HNG= 

I0.1NL= 

10. ITU 

lO.KIL* 

O.L0I= 

O.LED* 

O.L»(E» 

O.LOV= 

O.LTl* 

O.LTK- 

O.LTY« 

O.MCS» 

O.MOA' 

O.MDI* 

O.MDO* 

O.MLC«^ 

O.MOD' 

O.MSO» 

O.NLB* 

O.NLK» 

O.ONL* 

O.RAD«= 

O.RAL= 



015400 

015410 

016520 

001040 

012000 

015440 

016470 

01 5400 

016400 

015610 

003400 

010000 

014400 

012400 

002000 

016000 

016540 

016000 

006400 

006000 

003000 

011400 

003020 

012400 

004400 

016430 

016420 

016410 

016450 

016440 

016460 

002400 

003010 

015000 

003000 

002400 

017000 

000012 

007000 

012000 

012000 

001010 

007400 

000050 

010000 

013400 

016000 

014400 

015400 

006000 

005000 

m 

011400 
017400 
010400 
001010 



B 1 


PST 


J 




SECTR 


E 1 





ADRSM 


M 






C 1 


PST 


K 




SECTR 


F 1 





ADRSM 


N 




MACFLM 


1 


PST 


L 




SECTR 


G 1 





ADRSM 


B 




CVRS 


E 1 




M 




SECTR 


H 1 







C 




CVRS 


F 1 


READ 


N 






I 





MACFLM 


■* 






G 1 


READ 


B 




SETDIR 


J 1 





ADRST 


E 




DKALO 


H 1 


READ 


C 




SETOIR 


IC 1 





ADRST 


F 




DKALO 


I 1 




D 




SETDIR 


L 1 





ADRST 


G 




DKALO 


J 1 


REPT 


E 






M 1 







H 




DKALO 


K 1 


REPT 


F 




SETDN 


N 1 





ALALO 


I 




DKALO 


L 1 


REPT 


G 




SETDN 


B 1 




ALALO 


J 






n 1 


REPT 


H 




SETDN 


C 1 




ALALO 


K 




DSALO 


N ; 




I 




SETDN 


D 1 






L 




DSALO 




ROLHD 


J 




SETDN 


E 1 




ALBLK 


M 




DSALO 




! ROLHD 


K 




SETDN 


F 1 




ALBLK 


N 




DSALO 




» ROLHD 


L 




SETDN 


G 1 






B 




DSALO 




> ROLHD 


M 






H 1 




ALELD 


C 








! ROLHD 


N 




SETIMM 


I 




ALELD 


D 




ERMSG 




» ROLHD 


B 




SETIMM 


J 1 




ALELD 


E 




ERMSG 




• ROLHD 


C 




SETIMM 


K 1 






F 




ERMSG 




• ROLHD 


D 




SETim 


L 1 




ALSGD 


G 




ERMSG 




! ROLHD 


E 






M 1 




ALSGD 


H 




ERMSG 




! RaHD 


F 




SETMX 


N 1 




ALSGD 


I 




ERMSG 




' 


G 




SETMX 


B 1 






J 




ERMSG 




' RSDAT 


H 




SETMX 


C 




ALSVB 


K 




ERMSG 




• RSPAT 


I 






f) 




ALSVB 


L 




ERMSG 




RSDAT 


J 




SPACE 


r" 1 




ALSVB 


M 




ERMSG 




\ RSDAT 


K 




SPACE 


F 














; RSDAT 


L 




SPACE 


G 




ALVRT 










; RSDAT 


n 






H 




ALVRT 










; RSDAT 


N 




STMNT 


1 




ALVRT 










1 RSDAT 


B 




STMNT 


J 














i RSDAT 


c 




STMNT 


K 




BCNTL 










1 RSDAT 


D 




STMNT 


L 




BCNTL 










1 RSDAT 


E 






M 














; RSDAT 


F 




SVMBL 


N 




BLDSG 










; 


G 




SYMBl 


B 




BLDSG 










; RSEXEC 


H 




SYMDL 


C 




BLDSG 










S RSEXEC 


I 




SVMBL 


D 




BLDSG 










. RSEXEC 


J 




SYMBL 


E 




BLDSG 










. RSEXEC 


K 




SYMBL 


F 




BLDSG 










1 RSEXEC 


L 




SYMBL 


G 




BLDSG 










. RSEXEC 


M 






H 




BLDSG 










. RSEXEC 


N 




WORDB 


I 














. RSEXEC 


B 




WOAUB 


J 




BLMNT 










. RSEXEC 


C 




WORDB 


K 




BLMNT 










. RSEXEC 


D 






L 




BlMNT 










. RSEXEC 


E 




WRITE 


M 




BLMNT 










1 


F 




WHITE 


N 














. R5UNP 


G 




WRITE 


R 




CMLCL 










. R5UNP 


M 




WRITE 


C 




CMLCL 










. R5UNP 


I 






D 














1 


J 




AlMOD 


E 




CORAL 








* 


S SCNLIB 


K 




ACMOD 


F 




CORAL 








D ' 


5 SCNLIB 


L 




ACMOD 


G 




CORAL 










i Sf Nl IB 


M 




ACMOD 


H 




CORAL 










1 SCNLIB 


N 




ACMOD 


I 












G ' 


SCNLIB 


B 


2 




J 




MACFLM 








H ' 


f 


10 


MACflM 


K 




CVRL 








1 1 


1 £:CTR 


D 


10 


MACFIM 


L 




CVRL 









ERMSG MACRO Ml 108 
SVMBOL TABLE 



U-OEC-77 09:47 PAGE 2-10 



lO.RAT 
lO.RBC 
lO.RCI 
lO.RCV 
10.ROB< 
lO.RON 
lO.REL 
lO.RHD 
lO.RLB 
lO.RtV 
lO.RNA 
lO.RNC 
n.RNE 
lO.RNS 

!o.Rra 

lO.RPR 

lO.RST 

lO.RTC 

lO.RTI 

lO.RTK 

lO.RTC 

lO.RVB 

lO.RWD 

lo.Ryu 

. ABS. 

TKT 
EPTIO 
ETX1I0 
ETX2tD 



013000 
003000 
01 5000 
01S000 
001200 
000022 
01M00 
001010 
001000 
001100 
005400 
001040 
001020 
001020 
001040 
0O'«400 
001001 
^3400 
01*400 
000060 
001200 
010400 
002400 
002540 

000000 

000256 
000032 
000276 
003324 
003376 



I0.R1C> 

I0.SA0< 

I0.SCS» 

lO.SDI 

lO.SDO 

lO.SEC 

lO.SET 

lOSLO 

lO.SMO 

lO.SPB 

lO.SPF 

lO.SPW 

lO.SSO 

lO.STC 

lO.STP 

lO.SVN 

lO.TRM 

lO.UOl 

lO.UER 

lO.ULK 

tO.UNL 

lO.UTI 

lO.UTV 

lO.WAL 



002h00 
004000 
013000 
013000 
012400 
002520 
000030 
005400 
002'>60 
002^20 
002440 
016510 
004400 
002500 
016400 
003040 
002410 
011410 
011440 
005000 
000042 
011420 
011430 
000410 



IO.WAT» 

IO.UBT« 

lO.WOD' 

lO.WLBs 

IO.WLC> 

lO.WLS 

lO.WLT 

IO.U.V 

IG.MS 

ID.yNS 

lO.UPB' 

lO.UVB' 

lO.XMT 

lO.XNA 

IQ.O 

10. S 

IQ.UW 

IQ.X 

IS.BV 

IS.CC 

IS.CLR 

IS.CR 

IS. EOT 

IS. ESC 



ERRORS DETECTED: 



000 
001 
002 
003 
004 
005 



VIRTUAL MEMORY USED: 5061 WORt) < 20 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( bU PAGES) 
ELAPSED TIME: 00:01:10 
[31, 20]ERMSG,C31,30]ERMSG/-SP>C31,10]MACFLM, ERMSG 

fun 



013400 
000500 
000444 
000400 
000420 
000410 
000.10 
000500 
000420 
000420 
000440 
011000 
014400 
014410 
000002 
000004 
000004 
000001 
000005 
001401 
OOOCOO 
006401 
002001 
015401 



IS.ESQ< 


115401 


S»V1 = 


000001 G 

000002 G 


IS.PESs 


100001 


SIV2 = 


S.PND< 


000000 


s 


000013 


S.ROD' 


000002 


$ARGBK 


OOOOOORG 


IS.SET« 


000002 


fCHLCL" 


•»♦*•* GX 


IS.SPOs 


000002 


SEDMSG' 


♦••♦•• GX 


IS.SUC= 


000001 


SERMSG 


000042RG 


IS.TAB' 


004401 


SERRCT* 


*•***• GX 


ls.rM0<: 


000002 


$EXSTS« 


****** GX 


u 


000012 


msc 


OOOOOORG 


MXBF * 


000073 


SOUTBF' 


*«*»•« GX 


NtSG1 « 


000055 G 


»POPCL« 


****** 6X 


m 


003324R 


005 fPRCER" 


****** 6X 


Q.IOAE' 




IPUTCO 


00021 6RG 


Q.IOEF* 


000006 


tQUIT > 


****** GX 


Q.IOFN> 


000002 


♦RSTRT« 


****** GX 


Q.IOLU« 


000004 


»SAVRG> 


->••••♦ GX 


Q.IOPL= 


000014 


SSWTCH> 


****** GX 


Q.IOPR* 


00000^ 


II 


000001 


Q.IOSB* 


000010 


llMsr, .. 


000000 


Rtt11M> 


000000 


IIIARG* 


coo 106 


SPA ' 


.00040 


IIIOST- 


000014 


SI 


000051 


...GtL' 


000000 


stvo » 


000000 G 







003 



••** i \ ••«• 




•••• c 1 *••• 



MTifc HAfROHllOII U-DfC-r? 09!*8 PACF ? 



EXTSK MACRO Ml 108 U-DEC-77 09:A8 PAGE 2 



1 

2 

3 

A 

5 

6 

7 

8 

9 

10 

11 

12 

13 

U 

15 

16 

17 

18 

19 

20 

li 

2A 
25 
26 
27 
28 
?9 
SO 
31 
32 
33 
34 
35 
36 
57 
38 
39 
40 
41 
4? 
45 
44 
45 
(6 
47 
48 
4V 

5? 



55 



h 000000 



000077 
000077 



.TITLE EXTSK 
.lOENT /01/ 



COPYRIGHT (C) 1976 

DIGITAL EQUIPMENT CORPORATION. MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND NAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE C". SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 01 

C. MONIA 30-JUL-76 

EXTEND THE TASK REGION 

MACRO LIBRARY CALLS 

.MCALL DIRI 

•*-$EXTSK-EXTEND THE USK REGION 

INPUTS: 

RI-S.tZE OF EXTENSION IN BYTES 

OUTPUTS: 

C/CLEAR - TASK RFGION FXTENDED BY SPECIFIED AMOUNT (ROUNDED TO 
NEXT 32 WORD BOUDARY) 

f11< tXTENSION SIZE (ROUNDED TO NEXT 32W BOUNDARY) 

C/SET - TASK EXTENSION FAILED 

ALL OTHER REGISTERS ARE PRESERVED 



tlXTSKii 



ADD 
6IC 



#77. R1 
#77. R1 



ROUND INCREMENT TO 3?W BOUNDARY 
REMOVE EXCr«;j BITS 



*••* D 1 •*•* 



EXTSK MACRO M1108 14-DEC-77 09:48 PACF ?-1 



EXTSK MACRO Ml 108 U-OEC-77 09: A8 PACE 2-1 



58 000010 

59 000012 

60 OOOOU 
^1 



000032 

69 000056 

70 OOU040 

71 OOOOAO 



I03A15 
0050A6 
010U6 

000006 



0127A6 001531 



10$: 



» 



000001 



Bk-^ 


101 ; IF C/S ERROR 


CLR 


-CP) ; CLEAR THIRD WORD OF DPB 


MOV 


R1,-(SP) : PUSH EXTEND INCREMENT 


.REPT 


6 


ASR 


(SP) ; CONVERT TO S2-W BLOCKS 


.ENDR 




MOV 


#<3.*«00!89.>.-<SP) ; PUSH DIC.DPB SIZE 


DIRS 


; ISSUE DIRECTIVE 


RETURN 


i 
I 


.END 





*••* I \ «*«* 



tXtSK MACRO Ml 108 



U-DEC-77 OliAl PAGE i'2 



EXTSK MACRO MHOS 
SYf«OL TABLE 



1A-DEC-77 0^:48 PAGE 2-2 



CR 
FF 



= 000015 
» OOOOU 



HT 
If 



000011 
000012 



R$S11M'^ 000000 
SPA - OOOOAO 



VT 



000013 



SEXTSK OOOOOORG 



ABS. 



000000 000 

0000A2 001 

ERRORS DETECTED: 

VIRTUAL WMORV USED: 603 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:07 
C51,20]EXTSK.C31,30]EXTSIC/-SP»C31,10]MACFLM.EXTSIC 



•#•• t 1 •#•« 




••** 6 1 ••«• 



rNDHi NACW) MllOk U-OIC-77 09iAI PAQI 2 



FNDPG MACRO Ml 10b U-DEC-77 09:<.8 PAGE 2 




005367 OOOOOOG 

001012 

OOOOOOG 
OOOOOOC 






OOOOOOG 
OOOOOOG 



010c' 



.TITLE FN0P6 
.lOENT /02^ 



COPYRIGHT 1974. DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 02 

C. MONIA 22-FEB-74 

SCAN PAGE LIST FOR RESIDENT VIRTUAL ADDRESS 

y 
**-tFNDPG-SEARCH PAGE BUFFERS FOR RESIDENT ADDRESS 

INPUTS: 

RUVIRTUAL ADDRESS 
OUTPUTS: 

C-CLEAR: PAGE BUFFER RElilDENT 
RO-ADDRCSS OF BUFFER 

C-SET: PAGE NOT RESIDENT 

IN EITHER CASE R1 IS LEFT UNCHANGED. 

IF RESIDENT, PAGE BUFFER IS TIME-STAMPED AND RETURNED 
TO CALLER 



SFNDPGii 



?t: 



4li 



INC 
BNE 
INC 
NOV 

MOV 
BEQ 
CLR 
•R 

MOV 



ITIME 
«t 

ITIMf 
«<iPAGHD-PtGNXT> 

PtGNXT(RO).RO 

PtGTIM(RO) 
21 

R1.R2 



» 



AOVANCF TIME 
ir NE NO WRAP-AROUND 
SEt TIME rO 1 
RO ; GET RESIDENT PAGE LIST 

GET ADDRESS OF NEXT RESIDENT PAGE 
IF EQ DONE 
RESET TIME 
GO AGAIN 

COPY VIRTUAl ADDRESS 



;**NEW** 
.•••-1 



.-♦•NEW** 
.••*-1 



;**NEW** 

;**NEW** 
;**N£W»* 
.'•♦NEW** 
{♦•NEW** 

;**New** 

{•*NtW** 
j**N£W** 
••*NEW** 



•t*ft H 1 ••#• 



i 



n«Ki MACRO MIIOI U-OtC-77 09:41 PAGE 2-1 



FNDPG HAC»M) mi08 U-OEC- ( 


il!iS88ii 


}m 




f^m& 


001407 


OOOOOOG 


62 000046 


006302 




63 000050 


060200 




64 000052 


000261 




65 000054 


011000 




66 000056 


001416 




67 000060 


000241 




68 000062 


000411 




69 000064 






70 000064 


012700 


OOOOOOC 


71 000070 






72 000070 


000261 




73 000072 


016000 


nOOOG 


74 000076 


OOUOf 




75 000100 


12600i: 


OOOOOOG 


76 000104 


001371 




77 000106 






78 000106 


016760 


OOOOOOG 


79 000114 






80 000114 







09:48 PAGE 2-1 



8$: 
lot: 



15$: 
20S: 



& 



000001 



CLRB 


R2 




CLEAR DISPLACENENT IN BLOCK 


■♦♦NEW** 


SWAB 


R2 




POSITION RELATIVE BLOCK TO LOW BVTE 




NOV 


SPAGLS.RO 




GET ADDRESS OF RESIDENT PAGE LIST 


**NEW** 


BEQ 


8S 




IF EQ NONE 


**NEW** 


ASL 


R2 




CONVERT BLOCK TO WORD OFFSET 


••*NEW** 


ADD 


R2,R0 




CONPUTE LIST INDEX 


•♦♦NEW** 


SEC 






ASSUNE PAGE NOT RESIDENT 


**NEW** 


NOV 


(RO) ,RC 




GET PAGE ADDRESS 


**NEW** 


BEQ 


20S 




IF EQ PAGE NOT IN NENORY 


■**NEW** 


CLC 






SET SUCCESS 


•**NEW** 


BR 


15» 




EXIT 


•**NEW** 
•♦•NEW** 


NOV 


«<SPA6HD-PSGNXT> 


.RO ; GET LISTHFAD ADDRESS NINUS OFFSET 




SEC 






ASSUNE PAGE NOT RESIDENT 




NOV 


PSGNXT(RO) 


.RO 


GET NEXT PAGE BUFFER 




BEQ 


20t 




IF EQ NO NORE 




CNPB 


PSGBLIC(RO) 


.R2 


CHECK RELATIVE BLOCK 




BNE 


10S 




IF NE NOT REQUESTED PAGE 


•**NEW** 


NOV 


tTINE.PSGTIN(RO) 


; TINE-STANP THIS PAGE 




RETURN 










.END 











*••* 1 1 «««• 



FNDHi NACRONIIOS 
SVNMl TAllI 



14-DtC-77 09:48 PACE 2-2 



FMDPG MACRO M1108 
SYMBOL TABLE 



CR 
FF 

HT 



« 000015 
> OOOOU 
« 000011 



U-OEC-77 09:A8 PAGE 2-2 



LF = 000012 
P»GBLIC= ••••*• GX 
P»GNKT= ••*••• GX 



P$6Tim *♦••♦• GX 
RSSIIMs 000000 
SPA - 000040 



VT = 000013 
SFNDPG OOOOOORG 
$PAGHD= ♦**••* GX 



SPA6LS= •••••♦ GX 
STIME = •♦•♦•* GX 



. ABS. 000000 000 
000116 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 600 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:06 

C31 .20]FNOPG,C31 .30]FNDPG/-SP»C31 JODMACFLM.FNDPG 
_• > 



•*•• J \ «•«• 



F 




•••« K \ *••• 



1 rmt 



NACHO nnOB U-DtC-77 091^1 FACE i 



FNIT MACRO M1108 U-OEC-77 09:48 PAGE 2 






47 
4S 

49 000000 

50 000000 

51 000004 



000001 



.TITLE FNIT 
.lOENT /01/ 



COPYRIGHT 1973, DIGITAL EQUIPMENT CORP., MAVNARD, MASS. 
COPYRIGHT 1974. DIGITAL EQUIPI>IENT CORP., MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 01 

C. MONIA 05-FEB-74 

INITIALIZE FCS IMPURE AREA 

MACRO LIBRARY CALLS 



»♦ 



.MCALL FINITI 

**-lfINIT-INIT|ALIZE FCS IMPURE AREA 

THIS ROUTINE IS CALLED PRIOR TO PERFORMING ANY I/O 
TO SETUP FILE STORAGE REGION ?. 

INPUTS: 

NONE 
OUTPUTS: 

FSR 2 IS SETUP 



IFINirii 



FINITI 
RFTURN 

.END 



INITIALIZE FSR ? 



•••t I \ •««• 



FNII MACRO M1108 U-DEC -77 09:48 PAGF ?-1 
SYMKK TABLE 



FNIT HACRO M1108 U-OEC-77 09:A8 
SYMBOL TABLE 


fR » 000015 
FF « OOOOU 


HT = 000011 
LF = 000012 


. ABS. 000000 
000006 
ERRORS DETECTED: 


000 
001 




PAGE 2-1 



RSSIIMs 000000 
SPA <: 000040 



VT = 000013 
SFINIT OOOOOORG 



.FINIT* •♦«•♦• G 



VIRTUAL MEMORY USED: 563 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 1574A WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:06 
C51.20]FNIT.C31.50]FNIT/-SP=C31.103MACFLM.FNIT 



•••* H t *••• 



r- 




••*> M 1 *•** 



GTBYT MAt.,0M1108 U-OEC-77 09:4^ PAGE 3 



.TITLE 
. I DENT 



GTBYT 
/04/ 



;♦ 



COPYRIGHT 1974. DIGITAL EOUIPWENT CORP.. MAYNARt). MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORM ON IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND ^OULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT COKPORATiON. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUir>nENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 04 

D.N. CUTLER/C. MONIA 21-JAN-7A 

ROUTINES TO GET BYTE/WORD FROM INPUT FILE 

MACRO LIBRARY CALLS 



.MCALL 
OIOSYI 



GETtS.QlOSYt 



»NEW** 

'•NEW** 

'♦NtW*« 

'•NEW** 

>*NEW*« 

'*NEW*« 

>*HtM** 

'•NEW^* 

'•NEW^* 

'•NEW^« 

'•NEW*« 

|*NEW*« 

|*NtW*« 

>*NEW*« 

'•Nty*« 

'*NEW*« 

»NEW«« 

|*NEW«« 

'*N£W*« 

>*-15 



.-••NEW** 
.•••-1 



LOCAL DATA 



BYTEAi .BLKW 1 
INBYTEm.BLKW 1 



.NEyr BYTE IN RECORD ADDRESS 
.NOWIR OF BYTES REMAINING IN RECORD 



• ♦-•CTBYT-GfT BYTE FRtJt. INPUT FILE 

THIS ROl'TINE IS CALLED TO OFT THE NEXT BYTE FROM THE CURRENT INPUT 
FILE (ttSPPT). IF THERE ARf NO MORf BYTES IN THE CURRENT RECORD, 
THEN THE Hft^ RECORD IS Tf^r AND iHf LENGTH OF THAT RECORD IS RE- 
TUWiED VQ THE CALLER. EL«;E THE NEXT BYTE IS RETURNED TO THE CALLER. 
THUS TIL NORMAL USE OF 'lIS ROUTINE IS TO MAKE A CALL TO OBTAIN IMF 
BYTE COt^Nf AND THEN TO i.AKF SUBSEQUENT CALLS TO OBTAIN LACH BYTE. 
BEFORr TMF riRS? CAll IS MADf rOR EACH FILE. SNBYTE MUST B( /CROtD 
IN ORDfR TO FORCE A READ. 



INPUTS) 



IINPPT RECORD BLOCK. 



; UUTPUTSi 

; 

I C«1 IF EOF FNCOUfiTfRED. 

i C«0 IF NExr a^^TF OR RECORD iFNGtH IS OBTAINED. 

] RO*NENf BYTE OR RECORD LENGTH. 



••t* I I •#•# 



MA^Mn m*\i\m ii..fk*r.ry na.i,o *Afti t.i 



GTBYT MACRO Ml 108 U-OEC-77 09: A9 PAGE 3-1 



58 
59 

60 nooooA 

61 000010 

62 000012 

63 OOOOU 
6A 000020 

65 000024 

66 000026 

67 000032 

68 000036 

69 000040 

70 000OA6 

71 000050 

72 000052 

73 000056 
7A 000060 

75 000062 

76 000066 

77 00007A 

78 000100 

79 0001 OA 
80 

81 
82 
83 
8A 
85 
86 
87 
88 
89 
90 
91 
92 
93 
9A 
95 
96 

97 000106 

98 OOOK? 

99 0001 U 
100 0001^0 

0001?? 
000 V4 



1C1 



102 

m 

10A 



005367 177772 

002406 

005000 

157700 177760 

005267 17775A 

000A27 

016700 OOOOOOG 

103013 

122760 177766 000052 

000261 

00U15 

016002 OOOOOOG 

012701 

OOOG OOOG 

016067 000026 17770A 
016000 000024 
010067 177676 



$GTBYT::DEC 
BLT 
CLR 
BISB 
INC 
BR 
MOV 
GETSS 
BCC 
CMPB 
SEC 



lOli 



SNBYTE 

10S 

RO 

aBYTEA.RO 

BYTEA 

30S 

SINPPT.RO 

RO 

20$ ... vv 

«IE.EOF,F.ERR(RO);EOF? 

.•ASSUME £0r 



ANY MORE BYTES? 
If LT NO 

CLEAR RO AND CARRY 
PICK UP NEXT BYTE 
INCREMENT BYTE ADDRESS 
EXIT THROUGH COMMON POINT 
GET INPUT FILE RECORD BLOCK 
GET NEXT RECORD 
IF CC OKAY 



.••♦NEW** 
;**-1 



20$: 



SMi 



V 

.BYTE 
CALL 
MOV 
MOV 
MOV 
RETURN 



30$ 

R$NAME(R0).R2 

(PC)».R1 

E$R10.S$V2 

$ERMSG 



;1F EQ YES 

;GET ADDRESS OF NAME STRING 

:GET ERROR/SEVERITY 

; FATAL 

; OUTPUT ERROR MESSAGE 
F.NRBD*2(R0). BYTEA; SET ADDRESS OF NEXT BYTE 
F.NRBD(RO).RO ;GET LENGTH OF RECORD 
RO.$NBYTE ;SET NUMBER OF BYTES 



;♦ 



••-$GTURD-GET WORD FROM INPUT FILE 

THIS ROUTINE IS CALLED TO GET THE NEXT TWO BYTES FROM THE CURRENT 
INPUT FILE ($INPPT). $GTBYT IS CALLED TWICE TO OBTAIN THE TWO BYTES 
AND THE RESULTANT WORC IS RETURNED TO THE CALLER. 

INPUTS: 

wwr • 
OUTPUTS: 

RO'NEXT TWO BYTES FROM THE INPUT FILE. 



010046 

000500 
0S?600 



C00001 



$GTWRD::CALL $r,TOYT 
RO.-(SP) 

tl $cfBv r 

BIS (SP)*.R0 

RETURN 



: l.«LI. 



;OET FIRST BYTf 
.•SAVE II ON STACK 
.■OCT SfCONI' BYTl 
;SWAP HAl lS 
.MERGE BYTES 
I 



.END 



•••• c I •••• 



atkVT MACRnMIIOR U-DIC-77 09:49 PAGFS-? 



GTBYT MACRO Ml 108 
SVmOL TABLE 



U-DEC-77 09:*9 PAGE 3-2 



BVTEA 

B.BBFS* 

B.BFSTc 

B.NXBO= 

B.VBN « 

CH.AND' 

CR « 

ESR10 

FA.APO 

FA.CRE" 

FA.DLK* 

FA.ENB« 

FA.EXC* 

FA.EXT« 

FA.NSP« 

FA.POS« 

FA.RD > 

FA.RyO- 

FA.SEQ- 

FA.SHR> 

FA.TNP" 

FA.WCK- 

FA.WRT> 

FD.BLK- 

FO.CCL« 

FD.COM- 

FD.CR > 

FD.DIR> 

FO.FTN- 

F0.F11" 

FD.INS- 

FO.ISP- 

FD.MNT* 

ro.os»»- 

FO.PLC- 
FO.PRM* 
FO.PSE- 
FO.RAN- 
rO.RAN- 
FO.REC- 

Fo.mm- 

FD.SDI- 

FD.SOO- 

FO.TTr- 

FD.WBN> 

FF 

FF. CHR> 

FF.NV • 

FF.POI- 

FF. RyD> 

FF.RWF> 

FF.SPC- 

FO.APO* 

FO.HFY- 

ro.RO « 

fO.UPO' 

FO.WRTr 



OOOOOOR 

000010 

000015 

000012 

000004 

000001 

000015 

000100 
000010 
001000 
100000 
002000 
000004 
000100 
010000 
000001 
004000 
04000U 
000040 
000020 
020000 
000002 
000010 
900002 
020000 
000002 
000010 
000001 
040000 

100000 
004000 
000004 
000004 

010000 

1 




000001 
0000?0 




F.ACTL« 
F.AL0C« 
F.BBFS- 
F.BD6 ' 
F.BGBCc 
F .BKDN* 
F.BKDS' 
F.BKEF> 
f.aiCP1« 
F.BKST* 
F.BKVB" 
F.CHR » 
F.CNTG« 
F.OFMB> 
F.OSPT« 
F.DVNN> 
F.EFBK* 
F.EFN « 
F.EOBBr 
F.ERR « 
F.FACC- 
F.FFBY» 
F.FNAM- 
F.FNB - 
F.FTVP- 
F.FVER- 
F.H1BK> 
F.LUN > 
F.MBCT' 
F.MBC1* 
F.MBFG> 
F.NMO' 
F.NREC- 
F .OVBS« 
F.;<ACC» 
F.RATT- 
F.RCNH- 
F.RCTL- 
F.RSIZ* 
F.RTYP- 
F.SEQN- 
F.SPOV« 
F.SPUN- 
F.STWC* 
F.UNIT. 

F.umo- 

F.VBN > 

F.VBS;> 

MT 

1E.AS0> 

IE. ACT" 

lE.AOP- 

IE.ALC> 

lE.ALG- 

U IAD* 



000076 
000040 



% 



000057 
000026 
000020 
000050 
000051 
000024 
000064 
000075 
000034 
000046 
000044 
000134 
000010 
000050 
000032 
000052 
000043 
000014 
000110 
000102 
000116 
000120 
000004 
000042 
000054 
000055 
000056 
000024 

oooolo 



16 

.1 

34 

000017 



0001QQ 




IE.BBE> 
IE.BCC= 
lE.BDl' 
IE.BDR= 
lE.BDV- 
lE.BHD' 
lE.BLB* 
lE.BLK' 
lE.Bm» 
IE.8TF« 
IE.BTP> 
lE.BVR' 
IE.BYT« 
IE.CKP» 
lE.CKS* 
IE.CLO> 
IE.CNR> 
IE.CON> 
lE.DAA- 
IE.DAO> 
1E.DFU> 
IE.DNA> 
lE.DNR- 
lE.DUN- 
IE.DUP> 
IE.EOF> 
IE.EOT> 
lE.EOV- 
IE.EXP« 
lE.FEX' 
lE.FHE- 
IE.FIX> 
1E.FLN> 
IE. FOP- 
lE.HFU* 
lE.HWR' 
IE. IBS' 
lE.IDU- 
lE.lEF- 
lE.IES' 
lE.IFC- 
lE.lFU- 
IE. ILL- 
IE »LU« 
IE. INS- 
IE. IPR« 
IE. ISO- 
IE. IM- 

IJ:I!S: 

lE.IUI* 
lE.lCK- 
K.LNL- 
lE.MOD- 

\\Z: 

IF. 



177710 

177676 

177714 

177716 

177711 

177700 

177672 

177754 

177712 

177664 

177725 

177701 

177755 

177766 

177742 

177732 

177667 

177752 

177770 

177763 

177750 

177771 

177775 

177767 

177707 

177766 

177702 

177765 

177665 

177717 

177705 

177767 

177657 

17771! 

177744 

}77r?l 

177647 

177644 

177637 

177656 

177776 

177747 

177726 

177^40 

177776 

177641 

177703 

177645 

m 

17764 J 
177745 
177646 
177M 

\w4 

177670 



IC.NF1> 
lE.NFW- 
IE. NIK- 
IE. NLN- 
lE.NNC" 
lE.NNL- 
lE.NNN- 
IE.N0&- 
lE.NSF- 
lE.NST- 
lE.NVR- 
lE.NVW- 
lE.OFL- 
lE.ONP- 
lE.OVR- 
lE.PES- 
lE.PNS- 
lE.PRI- 
lE.PTS- 
lE.RAC- 
lE. RAT- 
IE. RBG> 
IE.R6S- 
lE.RCN- 
lE.RER- 
lE.RNM- 
lE.RSU' 
lE.SDP- 
lE.SNC- 
lE.SPC- 
lE.SQC- 
lE.SRE- 
lE.STK- 
lE.TCM- 
lE.TMM- 
lE.Tm- 
lE.ULK- 
lE.ULN- 
lE.UNS- 
lE.UPN- 
lE.VER- 
lE.WAC- 
IE. WAT- 
IE. WCK' 
lE.WER* 
lE.WLK- 
lE.WOV- 
IE.2DV 
lO.ACE- 
tO.ACR* 
lO.ACW* 
10. ADS* 
lO.APC* 
lO.APV 
O.ATA- 
lO.ATU 
10. CAS* 



177704 

177673 

177661 

177733 

177663 

177662 

177674 

177751 

177746 

177660 

177652 

177651 

177677 

177773 

177<'56 

177655 

177642 

177760 

177775 

177724 

177723 

177730 

177761 

1777:2 

177740 

177715 

177757 

177635 

177735 

}77772 

177734 

177762 

177706 

177765 

177671 

177666 

177653 

177773 

177774 

}77777 

177774 

177743 

177741 

1776>2 

177737 

177764 

177658 

J77720 

007400 

006* no 

00/000 

0140U 

oouoc 

0154<?0 



I0.CB0> 
lO.CCI- 
lO.CCO- 
lO.CIN- 
10.CLN= 
lO.CNTs 
10. CON- 
lO.CPR- 
lO.CPW- 
lO.CRC* 
lO.CRE- 
lO.CRJ- 

lO.CSFtr 

lO.CTI- 
lO.CTL- 
lO.CTR- 
lO.CTY- 
lO.DAC- 
lO.DCI- 
lO.DEL- 
lO.DET- 
lO.DIS- 
lO.DLB- 
lO.DTI- 
lO.DTY- 
lO.ENA- 
lO.EOF- 
lO.EXT*^^ 
lO.FDX- 
lO.FLN- 
lO.FNA- 
lO.GLC- 
lO.GLI- 
lO.GNI- 
lO.GRC- 
lO.GRI- 
lO.GRN- 
lO.GTS- 
lO.HDX- 
10. MIS- 
IC.HNG- 
10. INLA- 
ID. ITI> 
lO.KIL- 
lO.lDI* 
10. LED* 
lO.LKE' 
lO.lOV' 
lO.lTI* 
lO.LTKc 
lO.lfY. 
IO.«CS« 
tO.MDA* 
lO.MPh 
10. MOO- 

lo.mo^ 

lO.IWP' 



015510 
01 4000 
000440 
016500 
003400 
017000 
015400 
015410 
016520 
001040 
012000 
015440 
016470 
015400 
016400 
015610 
003400 
010000 
014400 
012400 
002000 
016000 
016540 
016000 
006400 
006000 
003000 
011400 
003020 
012400 
004400 
016430 
016420 
016410 
016450 
016440 
016460 
002400 

^W& 

003000 
002400 
017000 
00001? 
007000 
012000 
012000 
001010 

000050 

0^601 

144 

154 

0601 
003000 



•••• 2 ttt* 



QTBYT MACRO W1 108 14-^ff-r7 0949 PA6F 1-1 



GTBYT MACRO MHOS 
SYI«OL TABLE 



U-OEC-77 09:49 PA6£ 3-3 



lO.MSOs 
lO.MB* 
lO.NLK' 
IO.ONL> 
lO.RAD* 
lO.RAL* 
lO.RATs 
lO.RBC* 
I0.RC1> 
IO.RCV« 
lO.RDb- 
lO.RON* 
lO.REL* 
IO.RHD> 
IO.RLB> 
10.RLV> 
lO.RNA* 
IO.RNC> 
IO.RNE> 
IO.RNS> 
lO.RPB* 
10. RPR* 
lO.RST* 
lO.RTC* 
lO.RTl- 
lO.RTK- 
IO.RTN« 



OOSOOO 
016530 
01U00 
017400 
010400 
001010 
013000 
OOSOOO 
01S000 
015000 
001200 
000022 
013400 
001010 
001000 
001100 
005400 
001040 
001020 
001020 
001040 
004400 
001001 
003400 
016400 
000060 
001200 



lO.RVBr 
lO.RWC- 
IO.RMJ» 
10.R1C= 
lO.SAO' 
IO.SCS> 
lO.SDI* 
lO.SDO* 
lO.SEC' 
lO.SET* 
IO.SLO> 
lO.SMO* 
lO.SPB* 
lO.SPF" 
10.SPW« 
IO.SSO> 
10.STC» 
IO.STP« 
lO.SVN' 
lO.TRM* 
lO.UOI- 
IO.UER> 
IO.ULK> 
IO.UNL> 
IO.UTI> 
lO.UTV" 
lO.UAL- 



010400 
002400 
002540 
002400 
004000 
013000 
013000 
012400 
002520 
000030 
005400 
002560 
002420 
002440 
016510 
004400 
002500 
016400 
00304a 
002410 
011410 
011440 
OOSOOO 
000042 
011420 
01U30 
C00410 



. ABS. 000000 000 
000126 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 4755 WORDS ( 19 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:36 

C31,203GTBYT,C31,30]GTBYT/-SP»t51,10]MACrL«,FCSPR. GTBYT 
. S 



II WAT< 


' 013400 


IS.RDD* 000002 


RSNAME^c ****** GX 


I0.<«Ts 000500 


IS.SETr 000002 


RSSIIMs 000000 


lO.iDD' 


> 000444 


IS.SPD« 000002 


R.FIX = 000001 


lO.WlS' 


■.&^ 


IS.SUC« 000001 


R.SEQ s 000003 


lO.WwC' 


IS. TAB* 004401 


R.VAR = 000002 


lO.WLS' 


' 000410 


IS.TMO* 000002 


SPA * 000040 


lO.WLT' 


' 000410 


LF 


= 000012 


SSV2 - •♦••*• GX 


10.WLV> 


' 000500 


NB.DEV' 


' 000200 


S.BFHD' 000020 


10.WMS> 


c 000420 


NB.DIR' 


. 000100 


S.FATT« 000016 


lO.WNS' 


. 000420 


NB.NAM' 


. 000004 


S.FDB * 000140 


lO.WPQi 


c 000440 


NB.SD1' 


' 000400 
' 001000 


S.FNAM* 000006 


lO.WVB' 


' 011000 


NB.SD2' 


S.FNB » 000036 


lO.XMT" 


c 014400 


N6.SNM« 0u0040 


S.FNBW« 000017 


lO.XNA' 


' 014410 


NB.STP. 


t 000020 


S.FNTY< 000004 


IQ.Q > 


c 000002 


NB.SVR' 


' 000010 


S.FTYP" 000002 


IQ.S ' 


I 000004 


NB.TYP. 


. 0U0002 


S.NFEN« 000020 


IQ.UMD' 


c 000004 


NB.VER' 


. 000001 


VT . 000013 


IQ.X > 


' 000001 


N.DID ' 


' 000024 


IERMSG« ••••♦* GX 


IS.BV > 


c 000005 


N.DVNM' 


' 000032 


SGTBYT 000004RG 


IS.CC • 


> 001401 


N.FID ' 


c 000000 


SGTWRD 000106RG 


IS.CLR' 


I 000000 


N.FNAM' 


. 000006 


$1NPPT« ****** GX 


IS.CR • 


' 006401 


N.FTYP' 


. 000014 


SNBYTE 000002RG 


IS. EOT' 


' 002001 


N.FVER* 000016 


$$ . 000001 


IS. ESC' 


. 015401 


N.NfcXT= 0000?2 


tSMSG « 000000 


IS. ESQ' 


' 115401 


N.STATx 000020 


.GETSQ" ****** G 


IS. PES' 


' 100001 


N.UNIT= 000034 


...GBL> 000000 


IS.PND' 


. 000000 


PARttt' 000000 


...TPC« 000140 


PR.GTBY1 


r 









•••• I I •••• 



N \ 




••«• f I *••• 



OTCUL MACHO «nOe U-OIC-77 09i*9 PAW 2 



GTC«L MACRO MHOS U-OEC-77 09:A9 PAGE 2 



.TITLE GTCNL 
.IDENT /06/ 



COPYRIGHT 1975, DIGITAL EQUIPMENT CORP., MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 



.-••NEW** 
• ••-1 



DEC ASSUMES NO RESPONSIBILITY FOR 
OF ITS SOFTWARE ON EQUIPMENT WHICH 

VERSION 06 

D N. CUTLER/C. i^WNIA 07-FEB-7A 

MODIFICATIONS 



THE USE OR RELIABILITY 
IS NOT SUPPLIED BY DEC. 



;••-! 



NO. 



039 



DATE 



22-MARR-75 



PROGRAMMER 



C. MONIA 



MACRO LIBRARY CALLS 



.MCALL GCMlt 



**-IGTCML-GET LINE FROM COMMAND INPUT FILE 

THIS ROUTINE CALLS THE SYSTEM LIBRARY ROUTINE .GCML TO READ THE NtXT 
RECORD FROM THE COMMAND INPUT FILE. IF THE LINE CONTAINS A LEADING ":", 
THEN IT IS TREATED AS A COMMENT LINE AND ANOTHER LINE IS READ. IF THE 
FIRST TWO CHARACTERS OF THE LINE ARE "/BLANK", "/O". OR "//", THEN A 
LOGICAL EOF IS RETURNED TO THE CALLER. FOR "//" AND A REAL EOF. ENtDR 
IS SET IN ISWTCH THUS CAUSING AN EXIT AT THF FND OF THE CURRENT BUILD. 
IF NONE OF THESE CONDITIONS ARE MET, TMFN THE LINE IS TRANSFERED TO 
ILNBUF. SLNDES IS SET UP AS \HE LINE DESCRIPTOR. AND A RETURN TO THE 
CALLER IS EXECUTED. 



INPUTS) 



NONE. 



OUTPUTS! 



I f:6 ". 



LOGICAL EOF. 

REQUEST SUCE5SFUL WITH LINE IN iLNBUf 
THE UNf DESCRIPTOR. 



AND ILNDCS SET UP AS 



•••* 



a 2 •••• 



OTCML MACRO MHOS U-OtC-77 09i49 PAOI »-1 



GTCWL MACRO Ml 108 U-DEC-77 09: A9 PAGE 2-1 



11 

60 

61 000000 

62 000004 
65 000006 
6A 000012 

65 OOOOU 

66 000016 

67 000020 

68 000034 

69 000036 

70 000042 

71 000044 

72 000050 

73 000054 

74 000060 

75 000062 

76 000064 

77 000066 

78 00007? 

79 00007i, 

80 00007b 

81 000100 

82 000102 

83 000104 

84 000106 

85 000110 

86 000112 

87 000114 

88 000116 

89 000120 

90 000124 

91 000126 



97 000130 

98 000134 

99 000140 
100 000142 

000144 
102 000146 
03 000152 
" 000154 
000156 
160 



016700 
005002 
016701 
001402 
012102 
011101 

103435 
016001 
001756 
010167 
016002 
010267 
0«!*0201 
105011 
005001 
156201 
000301 
151201 
022701 

057 
001455 
022701 

057 
001452 
022701 

057 
001444 
012700 
000241 



104 
05 
06 
7 



116002 
122702 
001433 
012701 

OOOG 
122702 
001421 
012701 

OOOG 

mi 

012701 




OOOOOOG 
OOOOOOG 



000146 

OOOOOOG 

000150 

000002G 



000001 

040 

000 

057 
OOOOOOG 



114 000204 



000140 
177766 



OOOG 
U7777 



OOOG 
177776 



urW 



OOOG 
\7777K 



SGTCML::MOV 
CLR 
NOV 
BEQ 
MOV 
MOV 

101: GCMLS 
BCS 
MOV 
BEQ 
MOV 
MOV 
MOV 
ADD 
CLR8 
CLR 
BIS8 

sw/« 

BISB 

CMP 

.BYTE 

BEQ 

CMP 

.BYTE 

BEQ 

CMP 

.BYTE 

BEQ 

MOV 

CLC 

RETURN 



EOF OR ERROR 



GTCMll: MOVB 
CMPB 
BEQ 
MOV 
.BYTE 
CMp- 
BEQ 
MOV 
.BYTE 
CMPB 
BEQ 
MOV 
.BYTE 
CMPB 
BEQ 

rov 

.BYTF 
CMPB 



RO-ADDRESS OF LINE DESCRIPTOR. 



SCMIPT.RO 

R2 

ICMFLG,><1 

10$ 

(R1)t,R2 

<R1),R1 

R0,R1,R2 

GTCMLl 

G.CMLD(R0),R1 

»GTCML 

R1.SLN0ES 

G.CMLDt2(R0),R2 

R2.SLNDES«2 

R2.R1 

(R1) 

R1 

1(R2),R1 

R1 

(R2).R1 

(POt.RI 

V,' 

GTCML3 

(PC)*.R1 

V.O , 

GTCML3 

(PC)*.R1 

•/// 

GTCM12 

nLNDES.RO 



G.ENR(R0).R2 

tGE.E0F.R2 

GTCML2 

(PC)«,R1 

ESRft.StVO 

#GE.I0R.R2 

lot 

(PC)*,R1 

riR7.JlV2 

.JJ.0PR.R2 

(POsRI 

EtRa.$IV2 

fJ|.6lF.R2 

(PC)*, Hi 

riR9,i»V2 

#GE.MDE.R2 



:GET COMMAND BLOCK ADDRESS 

.-ASSUME STANDARD PROMPTING 

;GET ADDRESS OF PRWPT DESCRIPTOR 

' IF EQ NONE 

;GET LENGTH OF PROMPT STRING 

:GET ADDRESS \if PROMPT STRING 

;GET COMMAND LINE 

:IF CS EOF OR ERROR 

:GET LENGTH OF LINE 

:IF Noi.L TRY AGAIN 

;SET LENGTH OF LINE 

; GET LINE BUFFER ADDRESS 

.SET ADDRESS OF BUFFER 

; COMPUTE ADDRESS OF LAST BYTE PLUS 1 

; SET ZERO SENTINEL BYTE 

.'♦♦039 SET FOR MOVB WITH NO SIGN EXTEND 

.•♦♦039 GET SECOND BYTE IN STRING 

,•♦♦039 POSITION TO HIGH BYTE 

.•♦♦039 GET FIRST BYTE IN STRING 

.•♦♦039 "/BLANK"? 

« 

I IF EQ YES 
.•♦♦039 "/O"? 

;IF EQ YES 
.•♦♦039 "//"? 

• 

;IF EQ YES 

;GET ADDRESS OF LINE DESCRIPTOR 

.CLEAR CARRY 



.•♦•NEW** 
;**NEW** 



;**-1 



;PICK UP ERROR CODE 

;EOF? 

;ir fO YES 

.-ASSUME 1/0 ERROR 

.•DIAGNOSTIC 

;|/0 ERROR 

;!f EQ YES 

.•ASSUMt OPfN FAIIURE 

••FAIAl-NO RETURN 

;OPEN FAILURE? 

;IF ro YES 

.-ASSUMT BAr \ iLfNAMC 

;fAtAl-NO RCIURN 

;BAO FILENAME? 

.Tr fQ YtS 

.ASSUm MAX DFPTH EXCEEDED 

;rATA(.>N(1 niTlMIN 

;MAX DEPTH EXCEEDfD? 



ITT 



•td* 



•••• 



1 



QTCNL MACWMIIM U-DIC-77 09i49 PAQI 2-2 



GTCML MACRO WIIOB U-DEC-77 09:A9 PAGE 2-2 



115 000210 

116 000212 

117 0002U 

118 000216 

119 000220 

120 00022A 

121 000230 

122 000236 

123 000240 
12A 

125 



00U02 
012701 

OOOG 
010002 
062702 

052767 
000261 



000001 



BEQ 

MOV 

OOOG .BVTE 

10S: MOV 

000U6 ADD 

CALL 
OOOOOOG OOOOOOG GTCML2: BIS 
GTCML3: SEC 

RETURN 

.END 



10S 

(POt.RI 

ESR0.SSV2 

R0,R2 

fG.CMLD.R2 

SERMSG 

«ENSDR,tSWTCH 



IF EQ YES 

ILLEGAL ERROR CODE 

FATAL -NO RETURN 

COPY ADDRESS OF CONTROL BLOCK 

POINT TO LINE DESCRIPTOR 

OUTPUT ER'"OR MESSAGE 

SET END Or RUN 

SET CARRY 



•**• I I •««• 



IKPL mCMMIIM U-OIC-77 091^9 t>A6E 2-S 
hMMl TMLI 



GTCM. MACRO MHOS 
SYMBOL TABLE 



U-OEC-77 09:A9 PAGE 2-3 



CR 

ENtOR « 

EMC * 

EtR6 > 

E»R? - 

EtRB > 

EtR9 « 

GE.B1F< 
GE.CLO» 
GE.CGH* 



000015 



**** 

oooou 

177775 
000004 
000001 



GX 
GX 
GX 
GX 
GX 
GX 



000020 
177766 
000002 
177777 
000010 
}7777', 
177776 
177730 
. JAO 
0130R 



GE.CON* 

GE.EOF» 

GE.INDs 

GE.IOR' 

GE.LC = 

GE.MDE:' 

GE.OPR« 

GE.RBGs 

GE.SIZ* 

GTCMLI 

^-■-12 000230R 



GTCML3 

G.CMLDs 

G.DPRM: 

G.ERR = 

G.IS1Z< 

G.M0DE> 

G.PSDS> 

G.SI2E' 

HT « 

LF 

PARStt* 



000236R 

000U6 

000160 

OOOUO 

000020 

000U1 

000U2 

000224 

000011 

000012 

000000 



RStllMs 
SPA ' 
SSVO ' 
SIV2 = 
S.FDB <= 
S.FNAn> 
S.FNB * 
S.FNBy* 
S.FNTV:. 
S.FTYP= 
S.NFEN<= 



000000 
000040 

****** 

OOOUO 
000006 
000036 
000017 
000004 
000002 
000020 



GX 
GX 



VT 

SCMFLG* 

»CMIPT« 

SERMSG' 

SGTCML 

UNDES> 

SSWTCH* 

St 

.GCML1« 

...TPC= 



000013 
****** GX 
****** GX 
****** GX 

OOOOOORG 
****** GX 
****** GX 

000001 

****** G 

000140 



. ABS. 000000 
000242 
ERRORS DETECTED: 



000 
001 



VIRTUAL MEMORY USED: 2176 WORDS ( 9 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:15 
!:31.20]GTCML.C31.303GTCML/-SP«t31.10]MACFLM.GTCML 



•*•• J I •••• 



[ 



N \ 




•••• K } •••• 



MACRO nn 01 u-oic-rr 09t«9 pact 2 



NAcrin 



HACFLH MACRO Ml 108 U-DEC-77 09: A9 PAGE 2 



.IF NDF WSSKST 

.TITLE 6TC0R 

.IFF 

.TITLE 6TC0S 

.ENDC 

.IDENT /02/ 



rOPyRlGMT (C) 1976 

DIGITAL EQUIPMENT CORPORATION. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND NAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 02 

C. MONIA 22-FEB-74 

MODIFICATIONS: 

NO. DATE 



065 



SO- JUL -76 



PROGRAMMER 



C. MONIA 



; ALLOCATE DYNMIC STORAGE 

t* 

t ••-6TCOR-ALL0CATE DYNAMIC STORAGE, DISPLACE VIRTUAL PAGE BUFffRS 

: INPUTS t 

i R1-AllOfAT|ON R!OUESTfD(BYTFS) 

I trPADR'Ntxr VIRTUAL ADDRESS ABOVE TASK IMAGE 

I 

; OUTPUTS I 

i C-CLEARi ALLOCATION RtQUtST SUCCEEDED 



;"-1 



*••• 



TT 



••** 



n 



OUOR MACRO M110« U-OIC-77 09i*9 PAGE 2-1 



GTCOR MACRO Ml 108 U-OEC-77 09:«9 PAGE 2-1 



58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
7A 
75 
76 
77 

^ 

80 
8' 
82 
85 

84 
85 
86 
87 



RG^ADDRESS OF STORAGE ALLOCATED 

C-SET: ALLOCATION FAILED 

THIS ROUTINE IS CALLED TO OBTAIN DYNAMIC STORAGE. AN ATTEMPT IS MADE 
TO ALLOCATE THIS MEMORY FROM THE EXISTING POOL. IF THIS FAILS, A REQ- 
UEST TO EXTEND THE TASK IS ISSUED. IF THE REQUIRED MEMORY CANNOT BE OB- 
TAINED THEN UNLOCKED PAGE BUFFERS ARE DISPLACED UNTIL THE REQUESTED SPACE 
IS AVAILABLE. PAGE DISPLACEMENT IS ON THE BASIS OF 'LEAST RECENTLY USED*. 



000000 

000000 

000004 

000004 010U6 

000006 012700 OOOOOOG 

000012 

000016 103064 



tGTCOR: 
101: 



SAVRG 

MOV 
MOV 
CALL 
BCC 



R1,-(SP) 
«IFRHD,RO 
tRQCB 
60t 



90 

01 

92 
93 
94 
95 



9; 
98 
99 000020 



012704 

m 

005046 




.IF DF WSMST 



17|t 



MOV 

MOV 

CMP 

BHIS 

MOV 

CALL 

8CS 

ADD 

ADD 

BR 

MOV 

.ENDC 



«tTPADR,R3 

(R3),R2 

R2.«TSKMAX 

17i 

«TIKINC.R1 

SEXTSK 

171 

R1.IFRSIZ 

R1.(R3) 

47i 

#-1.{R3) 



SAVE NON-VOLATILE REGISTERS 

SAVE BYTE CCWT 

GET ADDRESS OF FREE CORE POOL 

REQUEST CORE BLOCK 

IF C/C HAVE REQUESTED SPACE 



GET POINTER TO NEXT FREE ADDRFSS 

GET NEXT FREE ADDRESS 

TASK Ar MAX. ALLOVABLE SIZE? 

IF HIS *fS 

GET TASK INCREMENT (IN BYTES) 

cXTEND THE TASK 

IF C/S EXTEND FAILED 

ADD INCREMENT TO POOL 

UPDATE TOP OF MEMORY 

RELEASE BLOCK TO POOL 

BLOCK FURTHER ATTEMPTS TO EXTEND USik 



INSUFFICIENT STORAGE IS AVAILABLE. FREE UP MEMORY 
BY DISPLACING PAGE BUFFERS 



OOOOOOC 
W7777 



OOOOOOG 
OOOOOOG 
OOOOOOG 



OOOOOOG 



208 1 



MOV 
CLR 
MOV 
CLR 

MOV 
MOV 



4'<SPAGHD-PtCNXT>,R4 : GET LISTHEAD ADDRESS MINUS OFFSET 



R2 

t-1,R3 
-(SP) 

R4,R5 

PtGNXT(R5).R4 

501 

P|GTIM(R4).R5 

201 

P|G10K(R4) 

?0I 

•i.R2 

'tOTIM(R4).NS 



ClIaR address of LRU PAGF 
SET MAXIMUM TIME 
CLEAR LRU PREDECESSOR 

SAVF PRfDfCfSSOR 

GtT NtXT PAGF 

IF EO DONE 

TEST TIME OF LAST USE VS. LEAST 

IF HI, THIS BUFFER NOT IFAST 

THIS PAGE lOtKfD IN MEMORY? 

If Nf YfS 

MARK BUfFFR AS IRU 

SAVE flMf 

SAVF PREDFtFSSOR fOR RFlINK 

CO AGAIN 



TmTh t tttt 



GTCOR MACRO M1108 14-0IC-77 09i49 PAGF 2-2 



115 0000 

116 000( . 

117 OQOC/A 

118 000076 

119 000100 

120 000106 

121 000110 

122 0001 U 
125 0001U 

124 000120 

125 000122 

126 0001 2A 

127 000130 

128 000132 

129 0001 5A 

130 000136 
000136 
OOOUO 
000U6 
000152 
000152 
000156 

137 000162 

138 0OOt6A 

139 000166 
UO 000166 
U1 000170 
yti2 000170 
143 000172 
1U 

U5 






00570.: 
000261 
00U33 
132762 
0OUO2 



016703 
00U06 
005000 
156200 
00^300 
060003 
005013 

012603 
016263 
012701 

012700 

012601 
000707 

005226 

005226 



000001 



-OEC-77 09:A9 PACE 2-2 










30$: 


i 


R2 
50$ 


; FIND LRU? 
; ASSUME NO 
: IF EQ NO 
(R2) ; PAGE WRITTEN INTO ? 
; IF EQ NO 




OOOOOOG COOOOOG 


BITB 


fPGlWRT.PIGSTS 






BEQ 


40$ 






CALL 


$WRPA6 


; WRITE OUT PAGE INTO VM 




40$ t 










OOOOOOG 


MOV 


$»'A6LS.R3 


; GET ADDRESS OF PAGE LIST 


■♦•NEW** 




BEQ 


45$ 


: IF EQ NONE 


••♦NEW** 




CLR 


RO 


; SET FOR MOVB WITH NO SIGN EXTEND 


♦♦NEW** 


OOOOOOG 


BISB 


P$GBLK'R2).R0 


^ET BLOCK NUMBER 


•**NEW** 




ASL 


RO 


,• CONVERT TO WORD OFFSET 


**NEW** 




ADD 


R0.R3 
(R3) 


; COMPUTE LOCATION IN LIST 


'**HEW** 




CLR 


; CLEAR ENTRY 


•♦*NEW** 


451: 








**NEW** 




MOV 


(SP)*.R3 


; RETRIEVE LRU PREDECESSOR 




OOOOOOG OOOOOOG 


MOV 


P$GNXT(R?),P$GNXt(K3) ; RELINK REMAINING PAGES 




OOOOOOG 


MOV 


#P$GSi;,R1 


; Si'T SIZE TO RELEASE 




A7S: 










OOOOOOG 


MOV 


#$FRMD.R0 


; GET ADDRESS OF FREE POOL LISTHEAD 






CALL 


$RLCB 


; RELEAS: MEMORY 






MOV 


(SP)*.R1 


; RESTORE COUNT 






BR 


10$ 


; GO AGAIN 




soil 












INC 


(SP)» 


; CLEAN STACK, LEAVE C INTACT 




601 ! 












INC 


(SP)» 


] CLEAN STACK 






RETURN 




1 






.END 









•••• M i ftM* 



GTCOR MACRO MnOB 
SYMBOL TABLE 

CR ' 000015 
FF « OOOOH 
M\ « 000011 
LF > 000012 
PGMRT> «>••*• 6X 

. ABS. OOOOQO 
0001 7A 
ERRORS DETECTED: 



U-OEC-77 09!*9 PAGE 2-3 



PSGBLK- ••♦•*♦ GX 
PSGLOK« •••♦♦• 6X 
P»GNXr« •••••• GX 

P»GSIZ» •••*•• GX 
p$GSTS« ♦•*•*• 6X 



PICTIM« ♦♦•••• GX 
RttllM* 000000 
SPA > 000040 
VT » 000013 
IFRHD • •••••• GX 



tGTCOR OOOOOORG 
•PAGHD« •••••• GX 

IPAGIS* •*•••« GX 
IRLCB « *••••» GX 



SRQCB « ••••♦• GX 
ISAVRG"- ♦•*♦** 6X 
IWRPAG« •••♦•♦ GX 
tt " 000001 



000 
001 



VIRTUAL ItMORV USED: 685 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:07 

t31 .20DGTCOR.t31 .30]GTCOR/-SP«C31 .103MACFLM.GTC0R 
• I 



•*•• I s •••• 




••** c s *•** 



MArtiH MAMin MMna 1i>Mr-77 DO-SO MAI 9 



1 



MACFLM MACRO M1108 U-OEC-77 09:50 PAGE 3 



1 
2 
3 

A 
5 
6 
7 
8 
9 
10 
11 
12 
13 
U 
15 
16 
17 
16 
19 
20 
21 
22 
23 
2A 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
AO 
A1 

ti 

4A 
A5 

« 

48 

*9 



.IF NDF WS$KST 

.TITLE 6TC0R 

.TITLE 6TC0S 

.ENDC 

. I DENT /02/ 



COPYRIGHT (C) 1976 

DIGITAL EQUIPMENT CORPORATION, MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWAHE, OR 
ANY OTHER COPIES THEREOF , NAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PFRSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO HNE WHO AGREES TO THESE LICENSE TERMS. TITLF 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOFi THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 02 

C. MONtA 22-FEB-74 

MODIFICATIONS) 



{••-1 



NO. 



DATI 



065 30-JUL-76 
ALLOCATE DYNAMIC STORAGE 



PROGRAMMER 



C. MONIA 



•••6TC0R-ALL0CATE DYNAMIC STORAGE. ulSPLACE VIRTUAL PACE BUFFERS 
INPUTS) 



RI-ALLOCATION REQUESTED(BYTES) 

tTPADR-NEXr VIRTUAL ADDRFSS ABOVE TASK IMAGE 



; OUTPUTS) 



C-CLEAR) ALLOCATION HEOUFST SUCCEEDED 



TT 



*••• D 3 •••• 



MttA MAmn MiiOR U-brr- 77 09:50 PAGF 3-1 



GTCOS MACRO Ml 108 U-DEC-77 09:50 PAGE 3-1 



58 
59 
60 
61 

64 
65 
66 
67 
68 

69 000000 

70 000000 
" 000004 

000004 
000006 

74 000012 

75 000016 



71 

8 



» 



78 

79 000020 

80 000024 

81 000026 

82 000032 

83 000034 

S4 000040 
5 000044 

86 000046 

87 000052 

88 000054 

89 000056 

90 000056 



010146 
012700 

1031 OS 



012703 
011302 
020227 
103011 
012701 



OOOOOOG 



OOOOOOG 
OOOOOOG 
OOOOOOG 



103404 
060167 
060113 
000457 




OOOOOOG 
012713 }77777 



OOOOOOC 
U7777 

0000006 
OOOOOOG 
OOOOOOG 

OOOOOOG 



RO«ADDRESS OF STORAGE ALLOCATED 
C-SET: ALLOCATION FAILED 



THIS ROUTINE IS CALLED TO OBTAIN DYNAMIC STORAGE. AN ATTEMPT IS MADE 
TO ALLOCATE THIS MEMORY FROM THE EXISTING POOL. IF THIS FAILS, A REQ- 
UEST TO EXTEND THE TASK IS ISSUED. IF THE REQUIRED MEMORY CANNOT BE OB- 
TAINED THEN UNLOCKED PAGE BUFFERS ARE DISPLACED UNTIL THE REQUESTED SPACE 
IS AVAILABLE. PAGE DISPLACEMENT IS ON THE BASIS OF 'LEAST RECENTLY USED'. 



SGTCOR:: 
lOti 



SAVRG 

MOV 
MOV 
CALL 
BCC 



R1,-(SP) 
«tFRHD,RO 
MQCB 
60t 



.IF DF MUST 



17»: 



MOV 

MOV 

CMP 

BHIS 

MOV 

CALL 

BCS 

ADl 

ADD 

BR 

MOV 

.ENDC 



«$TPADR.R3 

(R3),R2 

R2.«TIKMAX 

17i 

«TIKINC,R1 

lEXTSK 

171 

Pl.lFRSi: 

R1.(R3) 

471 

#-1.(R3) 



SAVE NON-VOLATILE REGISTERS 

SAVE BYTE COUNT 

GET ADDRESS OF FREE CORE POOL 

REQUEST CORE BLOCK 

IF C/C HAVE REQUESTED SPACE 



GET POINTER TO NEXT FREE ADDRESS 

GET NEXT FREE ADDRESS 

TASK AT MAX. ALLOWABLE SIZE? 

IF HIS YES 

GET TASK INCREMENT (IN BYTES) 

EXTEND THE TASK 

IF C/S EXTEND rAILED 

ADD INCREMENT TO POOL 

UPDATE TOP OF MEMORY 

RELEASE BLOCK TO POOL 

BLOCK FURTHER ATTEMPTS TO EXTEND TASK 



INSUFFICIENT STORAGE IS AVAILABLE. 
BY DISPLACING PAGE BUFFERS 



FREE UP MEMORY 



201: 



MOV 
CLR 
MOV 
CLR 

MOV 
MOV 
BCQ 

CMP 

r,\, 

BNE 

MOV 
MOV 
MOV 
BR 



f<IPAGHD-PIGNXT>,R4 ; GET LISTHfAD ADDRESS MINUS Off SET 
R2 .CLEAR ADDRESS OF IRU PAGE 

i-1.R5 ; SET MAXIMUM riME 
-<SP) ; CLEAR LRU PREDECESSOR 



R4.R5 

Pt6Nxrrns).R4 
SOI 

PICTIM(R4).R5 

201 

P$G10K(R4) 

201 

R4..12 

PtGriM(R4),hS 

R5,(SP) 

20i 



SAVE PREDECESSOR 
GET NEXT PAGE 
IF EQ DONt 

test time pf (ast usf vs. least 
if hi. this buffer no? leas? 
This page locked in memory? 

U NE YES 

MARK BUFFER AS LRU 

SAVF TIME 

SAVE PRfDECESSOR FOR RFl INK 

GO AGAIN 



•••• I 3 *•** 



OTfOS MACRO MIIOB 14-DfC-77 09!50 PACE S-? 



GTCOS MACRO MHOB U-OEC-77 09:50 PAGE 3-2 



120 



115 OOOIW 

116 00013A 

117 000136 

118 OOOUO 
0O0U2 
000150 

, 000152 
1^2 000156 
123 000156 
12A 000162 
125 00016* 
1?6 000166 

127 000172 

128 0001 7A 

129 000176 

130 000200 

131 000200 

132 000202 

133 000210 

134 0002U 

135 0002U 

136 000220 

137 00022A 

138 000226 

139 000230 
UO 000230 
U1 000232 
U? 000232 
U3 000234 
U4 

US 



005702 
000261 
00U33 
132762 
00U02 



016703 
00U06 
005000 
156200 
006300 
060003 
005013 

012603 
016263 
012701 



30S: 



OOOOOOG OOOOOOG 



OOOOOOG 



OOOOOOG 



40S: 



OOOOOOG OOOOOOG 
OOOOOOG 



012700 OOOOOOG 

012601 
000666 

005226 

005226 

000001 



A5S: 
47t: 

50S: 
60$: 



TST 

SEC 

BEQ 

BITS 

BEQ 

CALL 

NOV 

BEQ 

CLR 

BIS8 

ASL 

ADD 

CLR 

MOV 
MOV 
MOV 

MOV 
CALL 
MOV 
BR 

INC 

INC 
RETURN 

.END 



R2 

501 . 

«P6SWRT,PSGSTS(m2 

40S 

tWRPAG 

SPAGLS,R3 

45S 

RO 

PSGBLK(R2>,R0 

RO 

R0.R3 

(R3) 

(SP)t,R3 

PSGNXT(R2),PIGNXt 

«PtGSIZ.R1 

«SFRHD,RO 
IRLCB 
(SP)*,«1 
lOt 

(SP)* 

(SP)* 



FIND LRU? 
ASSUME NO 
IF EQ NO 

) ; PAGE WRITTEN INTO ? 
IF EQ NO 
WRITE OUT PAGE INTO VM 

GET ADDRESS OF PAGE LIST 

IF EQ NONE 

SET FOR MOVB WITH NO SIGN EXTEND 

GET ALOCK NUMBER 

CONVERT TO WORD OFFSET 

COMPUTE LOCATION IN LIST 

CLEAR ENTRY 

RETRIEVE LRU PREDECESSOR 
(R3) ; RELINK REMAINING PAGES 
SET SIZE TO RELEASE 

GET ADDRESS OF FREE POOL LISTHEAD 
RELEASE MEMORY 
RESTORE COUNT 
GO AGAIN 

CLEAN STACK, LEAVE C INTACT 

CLEAN STACK 



;**NEW** 
l«*NEW** 
;**NEW** 
!**NEW** 
;**NEW** 
;**NEW*« 
[♦♦NEW** 
;**N£W** 



FT 



•»•* r 1 •««« 



CtCOS MACRO M1108 U-OIC-77 09i50 PAOf 3-S 



»Mi«^k«kA • &■ 



GTCOS MACRO Mil 08 
SYMBOL TABLE 

CR <: 000015 
FF « OOOOU 
HT « 000011 
LF = 000012 
PGtWRT* •*•♦♦♦ GX 
P»G8LIC« •••♦♦• GX 



U-DEC-77 09:50 PACE 3-5 



PtGLOU' •*•••♦ GX SPA « 000040 

P»6NXT8 *••««• GX TIK1NC« •••••• GX 

P»GS1Z« •••♦•• GX T$KMAX« ••••♦• GX 

PJGSTS' •••••• GX VT « 000013 

PSGT1M> ****** GX W$SKST» 000000 

RU11M* 000000 SEXrSK* ****** GX 



SFRHD ' 

SFRSIZ' 

$GTCOR 

SPAGHDc 

tPAGLS* 

SRLCB > 



****** GX 

****** GX 
OOOOOORG 

****** Q% 

****** GX 
****** GX 



IROCB - ****** GX 
$SAVRG« ****** GX 
$TPADR» ****** GX 
SWRPAG* ****** GX 
SS > 000001 



. ABS. 000000 000 
000236 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 720 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 157A4 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:09 

C31 .203GTCOS,C31 .30]GTCOS/-SP«C31 ,10]MACFLM,WRKST.GTCOR 
. f 



•*•• Q S *•«• 



N I 




•••• H S **** 



Qtmi mCNOMIIM U-OIC-77 09i)0 PAM 2 



GTPPR MACRO Ml 108 U-DEC-77 09:50 PAGE 2 



45 

46 000000 0262?6 000000 



000004 



.TITLE 
. IDENT 



GTPPR 
/05/ 



.•♦♦-1 



COPYRIGHT 1973. DIGITAL EQUIPMENT CORP., MAVNARD. MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 05 

C. MONIA 21-DEC-73 



.••♦-1 



MODIFICATIONS: 
NO. DATE 



PROGRAMMER 



041 16-MAY-75 C. MONIA 
SUBROUTINE TO RETURN PARTITION PARAMETERS 

MACRO LIBRARY CALLS 

.MCALL DIRt.GPRTS 
LOCAL DATA 

DEFAULT PARTITION NAME 
DFPAR: .RAD50 /GEN / { 
DPB-'GET PARTITION PARA'* TIRS' DIRECTIVE 



PRDPB: GPRTt ,PRBF } 

; 

; BUFF:R to RECEIVE PARTITION DATA 



»••# I s t««« 



QT^M MACRO M1108 U-DtC-77 09)50 PAM M 



GTPPR MACRO M1108 U-DEC-77 09:50 PAGE 2-1 



58 OOOOU 
59 



\7 0000?2 
000022 
000026 

90 000050 

91 QQ0052 

92 ^36 

95 0000^6 




005767 OOOOOOG 

000261 

100055 

010046 

001007 

01270A OOOOOOG 

012700 000000* 

011024 

016024 000002 

012704 000006' 



103411 
15701 
16702 

1' 

5002 
012600 



000001 



000001 177702 



PRBF: 



.BLKW 



•*-|GTPPR - 'GET PARTITION PARAMETERS* SUBROUTINE 



INPUTS: 



RO: 



POINTS TO PARTITION NAME IN 2-WORD 
RADIX 50 FORMAT. IF RO IS ZERO 
THE DEFAULT PARTITION IS RETURNED. 



OUTPUTS: 



i 

t 
I 
I 
) 
} 
t 
t 
I 
} 
I- 



C-CLEAR: SPECIFIED PARTITION FOUND 

RO: UNMODIFIED 

R1: BASE ADDRESS OF PARTITION 

R2: PARTITION SIZE IN 32U BLOCKS 

(SET TO FOR SYSTEM CONTROLLED PARTITION) 



SPNAME-tPNAME«2: NAME OF DEFAULT PARTITION (IF REQUESTED) 
C'SETi REQUESTED PARTITION DOES NOT E)(IST IN HOST SYSTEM. 



.-••NEW** 



tGTPPR:: 



201: 



351 1 

401: 



TST 
SEC 

•PL 

SAVRG 

MOV 

BNE 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

DIRt 

BCS 

MOV 

I 

MOV 

RETURN 

.INO 



IRSXSV 
40t 

%■"" 

«tPNAME.R4 
«DFPAR.RO 
(R0),(R4)* 
2(R0>,(R4)* 

«PRDPe*G.PRPN,R4 

(RQ)*,(R4)« 

(R0)*.(R4>* 

fPRDPB 

55t 

MfDSW.RI 

PR8F«C.PRPS,R2 

II.PRBF^O.PRFW 



(SP)».RO 



TEST SYSTEM RUNNING ON 

ASSUME RSX-11D 

IF PL RSX-11D. ERROR 

SAVE NON-VOLATILE REGISTERS 

SAVE POINTER TO NAMT 

IF NE NAME SPECIF lED 

GET LOCATION FOR NAMT 

GET ADDRESS OF DEFAULT NAME 

SET DEFAULT NAME 



; GET ADDRESS OF NAME IN DPB 
SETUP NAME 

ISSUE DIRECTIVE 

IF C/5 NO SUTM PARTITION 

GET VIRTUAL PARUTION APDRISS 

♦♦041 GET LFNOTH/64 

♦♦041 SYSTtM CONTROLLED PARTITION? 

♦♦041 IF Nt NO 

♦♦041 SET LENGTH T& ZERO 

RESTORE NAME POINTER 



;**-5 



l"-11 



••t* J S •••• 



QTmi NACM) M11M U-MC-77 0«iSO MM i'i 

MfmOU TAilE 



GTPPR MACRO Ml 108 
SYMBOL TABLE 



U-DEC-77 09:50 PAGE 2-2 



000015 

OOOOOOR 

OOOOU 



CR 

DFPAR 

FF 

G.PRBA> 000006 

G.PRFU« 000004 



ABS. 



G.PRPB' 
G.PRPN> 
G.PRPS' 

HT • 
LF 



000000 
000002 
000002 
000011 
000012 



PRBF OOOOUR 

PRDPB 000004R 

RttllM* 000000 

SPA - 000040 



VT « 000013 
SDSU s ♦•*••* GX 
SGTPPR 000022RG 
SPNAME= •••••♦ GX 



MSXSr« •♦•••• GX 

ISAVRG= •♦**** GX 

ttSOSTc 000006 

tstn « 000000 



000000 
000126 
ERRORS DETECTED: 



000 
001 



VIRTUAL MEMORY USED: 1054 WORDS ( 5 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:07 

C51 .20]GTPPR.t51 .50]GTPPR/-SP«t31 .lODMACFLM.GTPPR 
2 



•••• K ] ftttt 



[■ 



1 




•••• I s •••• 



MAM MCNOmiM 14-DIC-r? 09iS0 pm i 



1 



HE ADR MACRO Ml 108 U-DEC-77 09:50 PAGE 2 



4 
5 
« 
7 



.TITLE HEADR 
.IDENT /26/ 



COPYRIGHT (C) 1976 
COPYRIGHT (C) 1977 
DIGITAL EQUIPMENT CORPORATION. MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN "MS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHO«' D r,> ' IE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPi <\TI 

DEC ASSUMES NO RfcsPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION: 26 

D.N. CUTLER/C. MONIA 26-DEC-75 



;*-1 



.•••-1 



MODIFICATIONS 

NO. DATE 



PROGRAMMER 



25-AU6-73 


C. MONIA 


28-AU6-73 
07-JAN-75 


C. MONIA 


C. MONIA 


16-MAY-75 


C. MONIA 


12-FEB-76 


C. MONIA 


26-FEB-76 

02-MAR-76 
17-MAR-76 


C. MONIA 
C. MONIA 


C. MONIA 


29-MAR-76 


C. MONIA 


22-APR-76 
6-MAY-76 
T-MAY-76 


C. MONIA 


C. MONIA 


C. MONIA 
C. MONIA 


!l-MAY-76 


2a-JUN-76 


C. MONIA 
C. MONIA 


6-JUI-76 


1 -JUL -76 
1-JAN-77 


C. MONIA 


; CHANOtS rOR MULTIUSER TASKS 


51-JAN-77 


;SAVt R4 AND R) IN TASK'S STACK 



■••Mtw** 



WRITE TASK IMAGE FILE HEADER 



"mmTI S •••• 



L' 



MTADR MACRO Mil 08 1A-0IC-77 09iW PACF 2-1 



HEAOR MACRO Ml 108 U-OEC-77 09:50 PAGE 2-1 



58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 



80 
81 
8? 
83 
84 
85 
86 
87 
88 
89 
90 
91 

I! 



MACRO LIBRARY CALLS 

.MCALL CLOSES 
EQUATED SYMBOLS 



.If NDF 

SF.XA>004000 
SF.XC ■040000 
SF.XD^OIOOOO 
SF.XF -020000 
SF .PT«000200 



.ENOC 

MACRO LIliRARY CALLS 

.MCALL OTIMSS 

VOCAL MACROS 
GENERATE DATA BLOCK 
GBLK ADRS, TXT, COUNT 
WHERE I 



RtSIIM 



;KOT ABORTABLE 
:NOT CHECKPOINTABLE 
;NOT DISABIABLE 
.MOT flXAfltt 
;PRIVIIEG!D 



ADRS-STARTING ADDRESS IN TASK IMAGE WHERE TEXT IS TO BE WRIMEN. 
IF ODD, THIS VALUE POINTS TO THE RfAl ADDRESS. 

TXT-STARTING MEMORY ADDRESS Or TEXT TO BE WRirffN 

COUNT'NUMBFR OF WORDS TO BF WRITTEN 



.MACRO GBLK 



^DRS, TXT. COUNT 



.WORD 
.WORD 
.WORD 
.WORD 
.FNDM 



TXT 

ADRS 

JOUNT 



GENERATE BD TRANSFORMATION TAilF ENTRY 
GBtBL MSKI.MSK; 



•»•• 



TTT 



•••• 



r 



HEAOR MACRO Hn08 H-OCC-?/ 09:50 PAGE 2-2 



15 

1? 

18 
19 

11 



25 



S 



I 

40 

*1 

ti 

45 

4| 

4^ 



WHERE: 



MSKl'mSK WORD THAT SPECIFlb'S BIT TO BE TESTED. 
MSK2-MASK WORD THAT SPECIFIES BIT TO BE SET If MSKI BIT IS 
SET IN FILE SWITCH OPTION WORD. 



.MACRO 
.PSECT 

.WORD 

.WORD 

.WORD 

.PSECT 

.ENOM 



(iBTBL NSKl.nSK2 
BITBL 

MSK1 
MSK2 





GENERATE HEADER BLOCK 

GHDRB HDAOR.TXADR. COUNT 

WHERE t 

HDADR-STARTING ADDRESS IN HEADER OF WHERE TEXT IS TO BE 

WRITTEN. 
TXADR-STARTING NEHORV ADDRESS OF TEXT TO BE WRITTEN. 
COUNT-NUMMR OF WORDS TO BE WRITTEN. 



.MACRO GHDRB HDADR.TX ADR. COUNT 

.PSECT HDRTBL 

OBLK HDADR.TXADR, COUNT 

.PSICT 

.ENDM 



GENERATE I MEL 3L0CR 

CLBLB LIADR.TXADR.COUNF 

WHERE I 

LBADR-START'NG ADDRESS IN LABEL WHERE fFXT IS TO BF WRITTEN 
TXADR>STAMTIN6 MEMORY ADDRESS OF TEXT TO BE WRITTEN 
COUNT-NUMMR OF WORDS TO BE WRITTEN 



.MACRO 01 

T«Ecr 

.ENDM 



IBADR.TKADR. COUNT 
i.rXADR. COUNT 



•••* I 4 ••%• 



f. _... 



T 



HEAOR MACRO Ml 108 U-DEC-77 09:50 PAGE 2-3 



172 
173 



17A 
175 
176 
177 

j» 

111 000000 

182 OOOOgO 000000 

183 000000 
184 

185 
186 
187 
188 
189 
190 
191 
192 
193 
194 

195 000000 

196 000000 

197 000000 

198 OQOOOO 

199 OOOQOO 
200 
201 

18! 

204 000000 

205 

206 



COOOOO 



LOCAL DATA 

BIT TRANSFOWUTION TABLE 

THIS TABLE IS USED TO TRANSFORM TASK BUILDER BIT DEFINITIONS INTO 
RSX11D TASK STATUS BIT DEFINITIONS. 



I 



.PSECT BITBL 
BITBAS: .WORD 
.PSECT 



: DUMMY 2ER0 UORD AT START OF TBL 



w& 



.IF 

GBTBL 
GBTBL 
GBTBL 
GBTBL 
GBTBL 

.IFF 

GBTBL 
GBTBL 
GBTBL 
GBTBL 
GBTBL 
GBTBl 
GBTBL 
GBTBL 
GBTBL 
GBTBL 

.ENOC 



NDF 



RII11M 



SWtCP.SF.XC 
SWtAB.SF.XA 
SWtDS.SF.XD 
SWtFX.SF.XF 
SWSPR.SF.PT 



SWtACTSSACPiTStPRV 

SWICP.TStCHK 

SWIPR.TSIPRV 

SylNHJSINHD 

SWSPI.TStPIC 

SWiPM.TStPMD 

SWtSL.TStSLV 

SWiCM.TStCMP 

SWMT.TSINET 

SWMS.TSINSD 



i HEADER BLOCK r/«LE 
I 



.PSECT 
HDRBASi .yORD 
.PSECT 

.IF 

6M0RB 
GHDRB 
GNDR6 
GNUR6 
GN0R6 
GNDRt 
GHDRB 
GHDRB 
GHDRB 
GHDRB 
GHDRB 



HDRTBL 




mr 



,'DUMMV 2ER0 WORD Af START OF TBL 



RtlllM 



IDFIP.HDFLP.1 
DPDR.tHDPDR.8. 
DPAR.tHDPAR.i. 
)PS.HDPS.1 

>rq!hdro!1 



IPR0,HDR0.6 

.Jdsp.hdsp.T 

H|D I PS. HDP J.I 
HlDIPC.HDPC.I 
HIDISP.HDSP.I 



•••* c 4 •••* 



uk&ikM MAi^n tiiti\* ii._htr.yy noitft tiAAt imk. 



1 



HEAOR MACRO MHOS U-OEC-77 09:50 PAGE 2-A 



000000 



^ 






GHDRB HSDDSV,$0DTV,3 

GHDRB HtDDUC.STXUICI 

GHDRB HtDUIC.STKUIC.1 

GHDRB HSDSIZ.HDSI2.1 

GHDRB HtDFZI,tFSIZi,1 

GHDRB HtDLUT,SNUNIT,1 

.IFF 

GHDRB HtEFLM.tlDENT.Z 

GHDRB HtFSR.SHFSIJ 

GHDRB HtFOT.lHOTV.I 

GHDRB HtOVLr.lHOVLV.I 

GHDRB HIVEXT.IHEXT.I 

GHDRB HtUND.WNADR.I 

GHDRB HSDSlZ.HDSll.l 

GHDRB HS1PS.HDPS.1 

GHDRB HIIPC.HDPCI 

GHDRB HIISP.HDSP.I 

GHDRB HI0DVA,I0DTV.2 

GHDRB HtTKVA.tTSKvJ 

GHDRB HSfPSA.HCFLPJ 

GHDRB HtDUICtTKUlC.I 

GHDRB HSCUIC.IIKUICI 

GHDRB HMLUN.INUNIT.I 

GHDRB HtGARD.HGARD.I 

GHDRB RGSAV»1,HDR0,6 

GHDRB WNDPTO.MXyND.I 

STACK BLOCK TABLE 



00016A 
0001M 



000000 



m 000000 

265 

OOOOOU 



.PSECT HDRTBL 
HDRSPfi .yORD 

.PSECT 



i D'««V ZERO WORD AT START OF TABLE 



GHDRB SPSAVH.SPR4,2 
.ENOC 



JAR101 
JAK101 
JAK101 
JAKlOl 
JAK101 
JAKIOI 
JAK1Q1 
JAKIOI 
JAKIOI 
JAKIOI 



N 

m 

2?6 000000 000000 

m 000000 



LABEL BLOCK TABLE 



LBLBASi 



» 



.PSECT 

.WORD 

•PSECT 

.IF 



QIBLB 
GlBLB 

m 

GLBLB 



j,»m 



NRF 



RStllM 



ItSTSK.tTNAME.? 
.IPNAW.J 
^PSWI.i 

^...IPRIOH.I 

IMLDZ.HDLDZ.I 



LtBPAR.tF 



•••• 



"TT 



DUMPIY ZERO WORD AT START OF TABLE 



•••« 



ut&M iiArfen anna u.btr.r; OQ-^o PAcr >»% 



1 



HE ADR MACRO Ml 108 U-DEC-77 09:50 PAGE 2-5 



293 000000 
29A 000000 

295 000000 

296 000000 

297 000000 

298 000000 

299 000000 

300 000000 

301 000000 

302 000000 

303 000000 
3M 000000 

305 000000 

306 000000 

307 000000 

308 000000 

309 OOOOCJ 

310 ogoooo 

311 000000 

312 OOOOOQ 

313 000000 



000000 
000006 



000010 




GLBLB LSeMXZ.HDMXZ.I 

GLBLB LIBPOL. SPOOL, 1 

GLBLB LSBPICHDPICI 

GLBLB LSBDAT,HDDAT,3 

.IFF 

GLBLB LSBTSK.STNAME,2 

GLBLB LSePAft.SPNAnE,2 

GLBLB LtSMRB.tNORBNJ 

GLBLB LMBLK.SLBBLK.I 

GLBLB LSBFLG.HDSWTJ 

GLBLB LSBPRI.SPRIOR.I 

GLBLB LIBLDZ.HDLDZ.I 

GLBLB LSBNXZ.HMXZ.I 

GLBLB LtSSA.tOFFST.I 

GLBLB LSaxFR.HDPC.I 

GLBLB LI8DAT.HDDAT,3 

GLBLB LieCXT.SLBEXT.1 

GLBLB LSaHGV.HVRTOj 

GLBLB LtaMXV.HVRTL.I 

GLBLB LieyND.SNUfWN.I 

GLBLB LI8SE6.ISZSEG.1 

GLBLB LSBLUN.MKNIT.I 

GLBLB LIBSGL,IL8SGL,1 

GLBLB LIBOFF.ILBOFF.I 

GLBLB LlBROB.IROBLK.I 

GLBLB LIBROL.ROLDZ.I 

.ENDC 



MISC HEADER VALUES-AJACENCY ASSUMED 



;JAK100 
.-JAKIOO 



HDDAT : 
HDFLP: 

HDSIZ; 



SPR4I 

ISfil 

HPPSi 
HDSPi 

ROLOZ: 
HDSWr I 



.BLKW 3 

.IIF NDF RtlllM. HDPIC; 

.BLKW 1 



.IF 



DF 



RtftllM 



.BLKW 1 
.tNDC 



.BLKW 

tlKW 
LKW 
.BLKW 
.ILKW 
.ilKW 
.81 KW 
.BLKW 
.BLKW 

.IF 



1 



1 
1 

NDF RItllM 



.'CREATION DATE 

.BLKW 1 : POSITION INDEPFNDANT FLAG 

.•FLOATING POINT SAVE AREA POINTFR 



; HEADER SIZE IN BVTES 



; INITIAL RA FOR STACK INITIALIZATION 

INITIAL RO - R5 
PC WORD 
PS WORD 

INITIAL SP CONTENTS 
LOAD SIZE IN S2W BLOCKS 
MAX StZl IN 32W BLOCKS 
LOAP M/E OF READ ONLY SEGMENTS 
TASK FLAG WORD 



;JAK101 



jJARlOO 



•••• I 4 



•••• 



MtADR MALRnMIIOR U-DfC-77 09''J0 PACE ?-6 



HEAOR flACRO W108 U-OEC-77 09:50 PAGE 2-6 



HDSIZ: 



3A7 0OOOA6 
348 000050 
M9 000052 

350 000054 

351 000056 

352 000060 

353 000062 
J4 



J70 

371 000064 

372 000044 

373 000070 

374 000074 
175 000076 

76 000104 

77 000106 

78 000112 
J79 000112 
"" 000116 

M 000122 
000126 




HGARD: 
RGSAV: 
HVRTL : 
HVRTO: 
UNADR: 
WNDPT: 
SPSAV: 



.BLKU 

.IFF 

.BLKW 
.BLKy 
.BLKW 
.BLKW 
.BLKW 
.BLKW 
.BLKW 

.ENDC 



.•HEADER SIZE IN 32W BLOCKS 



ADDRESS OF STaCK GUARD WORD 
ADDRESS OF REGISTER SAVE AREA 
HIGH VIRTUAL ADDRESS OF TASK 
HIGH VIRTUAL ADDRESS OF WINDOW 
ADDRESS OF WINDOW BLOCKS 
OFFSET TO WINDOW BLOCKS 
ADDRESS OF R4 IN TASK'S STACK 



;JAK101 



•*-IHEADR-WRITE TASK IMAGE FILE HEADER 

THIS ROUTINE IS CALLED TO WRITE THE TASK HEADER INTO THE TASK 'MAGE. 

INPUTSi 

NONE. 
OUTPUTS! 

TASK HEADER IS WRITTEN INTO THE TASK IMAGE FILE. 



IHEADR:: 



005067 
005000 
032767 
001002 
016700 

010067 
010067 



012704 
0OS014 
012701 

m 

m 



Jon< 

000771 



OOOOOOG 

OOOOOOG OOOOOOG 
OOOOOOG 



177730 
177734 
OOOOOOG 
OOOOOOG 



000044' 
000000* 



201: 



SAVRG 

CLR 

CLR 

BIT 

BNE 

MOV 

MOV 
MOV 
MOV 
MOV 



SWRFLG 

RO 

«MPISV.ISWTCH 

20t 

tOFFST.RO 



RO. HOARD 
RO.WNADR 



•tJkpt 

RtSWTH 



(r5).RS 



SAVE THE NON-VOLATILE REGISTERS 
SET UP DESCRIPTOR FLAGS 
CLEAR ADDRESS BIAS 
MAPPED SYSTEM? 

IF NE ns 

SET ADDRESS BIAS 

SET ADDRESS BIAS OF GUARD WORD 
SET WINDOW BLOCK ADDRESS BIAS 

GET TASK IMAGE FILE RECORD BLOCK 

GET FILE SWITCH WORD 



PROCESS BIT TRANSFORMATION TABLE 



HEADROi MOV 
CLR 



101 1 



MOV 
MOV 
BEQ 
MOV 
Bit 
BEQ 
BIS 
BR 



«HDSWT.R4 

(R4) 

miTBAS.R) 

(R))SR^ 

HE ADR 1 

(R$)».R1 

R1,(R4) 

loi 



GET ADDRESS 
SET INITIAL 
GET ADDRFSS 
GET MSK1 
IF FQ DONE 
GET MSK2 
BIT SET? 



OF HEADER SWITCH WORD 
FIAC WORD 
OF BIT TABIF 



ir FQ NO 

SET BIT IN FLAG WORD 



MM> i 



*••« 



MTADR MACRO M1108 U-Drr-77 09!^ PAGE ?-7 



HEADR MACRO MHOS U-OEC-77 09:50 PAGE 2-1 



ALLOCATE PAR/PDR REGISTERS 



A02 

403 000162 

ADA 000162 

405 000166 

406 000170 

407 000174 

408 000174 

409 000200 

410 000204 

411 000206 
412 

413 000212 

414 000214 

415 000214 

416 000220 

417 000224 

ill 



005767 
001402 
052714 

016700 
066700 
103403 
020067 

101406 

012702 
012701 



OOOOOOG 

OOOOOOG 

OOOOOOG 
OOOOOOG 

OOOOOOG 



OOOOOOG 
OOOOOOC 



HEADRI : 



5S: 



10«: 



35$: 



40S: 



sot: 



TST 
BEQ 
BIS 

MOV 

ADD 

.IIF 

CMP 

.IIF 

.IIF 

MOV 
MOV 
CALL 

.IF 

CALL 

MOV 

MOV 

CALL 

MOV 

MOV 

MOV 

TST 

BEQ 

MOV 

SUB 

BEQ 

ADD 

MOV 

CALL 

MOV 

ADD 

BIC 

MOV 

CALL 

MOV 

MOV 

MOV 

MOV 

ADD 

MOV 

CALL 

MOV 

CMP 

BEO 

ADD 

BIC 

MOV 



STSKWD 
51 

«TStRES,(R4) 

SHVRTL.RO 
WFFST.RO 
DF R$t11M. BCS 
RO.IHGNAD 
NDF RIS11M, BLOS 
DF RtlllM, BLOS 



♦♦013 
TASK HAVE RESIDENT OVERLAYS? 
IF EQ YES 
SET TASK ATTRIBUTE 

GET HIGH VIRTUAL ADDRESS 
{♦♦041 ADD BASE ADDRESS OFFSET 
lot ; OVERFLOW IF CS 

TASK WITHIN LIMITS? 



i5t 
HEADR2 



IF 
IF 



LOS - 
LOS - 



YES 
YES 



«tOUTBF,R2 .-POINT 
«<StV0*400!EtR34>,R1 ; 
CANTSK ; ISSUE 



TO DUMMY BUFFER AREA 
GET ERROR/SEVERITY 
ERROR MESSAGE, CANCEL TASK FILE 



NDF 



RttllM 



6TRT 

R0,R3 

tHDSIZ.(R4) 

BLOCKS 

•(R4).R4 

tOFFST.RO 

#206, R1 

StGRO(RS) 

50t 

StGRW(R3).R2 

tHDSIZ.R2 

40t 

R0.R2 

R2,-(SP) 

FLAPR 

(SP)^.RO 

#1777r.R0 

#17777, RO 

RO.-(SP) 

CTRT 

R0,R3 

(SP)^,RO 

#|02.R1 

S|GRQ(RS),R2 

rq.rI 

R2,-(SP) 

FLAPR 
(5P)^.R0 
' - -,SG 




.RC 
tHVRTL.Rj 



GET RE\L ADDRESS OF ROOT 

COPY REAL ADDRESS 
SET HEADER SIZE IN BYTES 
CALCULATE NUMBER OF 32W BLOCKS 
SET INITIAL BLOCK OFFSET VALUE 
GET OFFSET BIAS 
SET ACCESS CODE 
ANY RO AREA? 
IF EQ NO 

GET LENGTH OF RW AREA 
SUBTRACT OUT SIZE OF HEADER 
IF EQ NO RW AREA 
CALCULATE ENDING ADDRESS 
SAVF ENDING ADDRESS 
FILL APR REGISTERS 
RETRIEVE ENDING ADDRESS 
ROUND TO NEXT 4K BOUNDRY 
CLEAR EXCESS BITS 

SAVE RO 

GET ADDRESS OF ROOT IN RO 

COPY ADDRESS 

RES10RE RO 

SET ACCESS CODE 
GET LENGTH OF RO AREA 
CALCULA*' ENDING ADDRESS 
SAVE ENDING ADDRESS 
FILL APR REGISTERS 
RETRIEVE ENDING ADDRESS 
MORE THAN ONE SEGMENT? 
IF EQ NO 

ROUND TO NEXT 4K BOUNPNY 
CLEAR EXCESS BITS 
GEf HIGHEST VIRTUAL ADDRESS 
ADD IN OFfSn BIAS 
ANYTHING IN StGMtNT? 



•••• I 4 •••• 



MfAOR MACRO M110I t4-WC-77 09i50 PAOf l-l 



~l 



HEADR MACRO M1108 U-DEC-77 09:50 PAGE 2-8 



000230 



472 000250 

473 000234 

474 000240 

475 000244 

476 000250 

477 000254 

478 000256 

479 000262 
460 

483 000262 

4 

41 



010067 
016700 
066700 
010067 
020067 
10140? 
01006? 



I 



(99 000300 005024 



BEQ 


HEADR2 


:IF EQ NO 


MOV 


IV206,R1 


;SET ACCESS CODE 


CALL 


FLAPR 


:FILI APR REGISTERS 



.ENDC 



SET UP REMAINING HEADER VORDS 



HEADR2: 



177616 

OOOOOOC 

OOOOOOG 

177604 

177576 

177570 



495 000274 012704 000006' 



00010? 016700 OOOOOOC 



31 i 



91 i 



.IF 



BIT 
BIO 

MOV 
ASL 
ASL 
ADD 
MOV 

.IFF 

MOV 



DF 



rsshm 



MOV 

MOV 

ADD 

MOV 

CMP 

BLOS 

MOV 


RO.HVRTL 

SHVRTO.RO 

tOFFST.RO 

RO.HVRTO 

RO.HVRTL 

31 

RO.HVRTL 


.ENDC 




GTIMtS 


«HDDAT 


.IF 


NDF R 


MOV 
CLR 
BIT 
BEO 
INC 


«HDPIC.R4 

(R4)t 

#SWtPI.R5 

-2(R4) 


.IFF 




MOV 


«HDFLP.R4 


.IFTF 




CLM 


(R4)* 


.IFT 





RItllM 



fSWiFP.RS 

lOt 
INUNir.RO 



REF LABEL 



SAVE HIGH VIRTUAL ADDRESS i^OUND 

GET ADDRESS LIMIT 

ADD TASK OFFSET 

SAVE LIMIT 

LESS THAN WINDOW LIMIT? 

IF LOS NO 

RESET LIMIT 



GET TIME PARAMETERS 



.GET ADDRESS OF MISC DATA AREA 
.ASSUMf NOT POSITION INDEPFNDFNT 
.-POSITION INDEPENDENT ? 
J IF FQ NO 
{SET PIC FLAG 



GET ADDRESS OF MISC DATA AREA 



;ASSUME NO FLOATING POINT 



.•FLOATING POINT SFEtlflED? 
;ir 10 NO 

.GET NUMBFR OF lOGIlAl UNITS 
;MUIT|PIV BY 4 



#«HIDLUT-HIDFLP»J>.I»0 ; COMPUTE POINTER TO HOAIING POINT SAVt 
R0.-2(R4) jSn POINTER TO FLOATING POINT SAVE AREA 



iNUNir.RO 



; ritrH NO. OF UNITS 



tttt N 4 •••• 



HTAOR MACRO Ml 108 1 4-01 C -77 09i)0 PAOI l-f 



HEAOR MACRO MIIOB U-OEC-77 09:50 PAGE 2-9 



5U 000306 
515 000510 

h mm 

518 000322 

519 000326 

II? §8801 
ill 888iif 

52A 000346 

525 000350 

526 000354 

527 000360 

528 000364 

529 000364 



000370 




006300 

m w^ 

060067 177530 



016700 
012701 
060011 
011101 
020127 
101406 
012701 

016701 

012700 



OOOOOOG 
OOOOOOG 



000010 
OOOOOOC 
OOOOOOG 
OOOOOOG 



61: 



000374 062701 
00O40O 066701 



000006 

., ,. ,., _ 177454 

000404 010167 177440 

"10 062701 OOQOU 

14 060167 177426 

062701 000002 

032705 OOOOOOC 
001412 
010144 

032767 OOOOOOG OOOOOOG 



140000 



42 061403 

44 062724 

50 000402 

52 066724 OOOOOOG 



Til 



101 ! 



S ^■--^* 



lOlt 



016724 000002G 



ASL 

ASL 

ADD 

NOV 

ADD 

MOV 

MOV 

ADD 

MOV 

CMP 

BLOS 

MOV 

CALL 

MOV 

MOV 

.IF 

MUL 

JFF 

CALL 

.ENDC 

ADD 
ADD 
MOV 
ADD 
ADD 
ADD 
BIT 
BfQ 
MOV 
BIT 
BEQ 
ADD 
BA 

ADD 

JFT 

CLA 
CLN 
CLN 
MOV 
MOV 
CLR 

.IFF 



MOV 
MOV 



RO 

RO ; 

»<HlLUN-HtCSP>.RO 

RO.yNDPT 

RO.WNADR 

MMXUND.RI 

R0,(R1) 

(RI).RI 

R1,«8. 

6$ 

«<SIV0*400!EIR86> 

CANTSK 

IMXWND.RI 

fSSZWND.RO 

DF V1145 



COMPUTE SIZE OF LUN TABLE 

; COMPUTE OFFSET TO WINDOW BLOCKS 
SAVE OFFSET TO WINDOW BLOCKS 
COFIPUTE ADDRESS OF WINDOW BLOCKS 
GET NUMBER OF TASK WINDOWS 
POINT TO MAX WINDOWS 
COMPUTE MAX WINDOWS 
GET RESULT 
HAVE LEGAL VALUE? 
IF LOS VES 

.R1 ; GET ERROR/SEVERITY 
ISSUE ERROR MESSAGE, CANCEL TASK FILE 
RESTORE MAX. WINDOWS 

GET SIZE OF EACH WINDOW BLOCK 



R0.R1 



IMUL 



: COMPUTE WINDOW BLOCK ALLOCATION 



; COMPUTE WINDOW BLOCK ALLOCATION 



#2*4,R1 ; 

WNDPT.RI 

R1 .RGSAV 

#14,R1 

R1 ,HGARD 

#2.R1 i 

«<$WtFP!SW$EA>.R) 

101 

R1.-(R4) 

fMPtSVjSWTCH 

71 

«1 40000, (R4)» 

101 



INCLUDE SPACE FOR WINDOW COUNT PLUS PS. PC 

COMPUTE OFFSET TO REGISTER SAVE AREA 

SAVE OFFSET 

COMPUTE GUARD WORD OFFSET 

SAVE OFFSET 

STEP PAST GUARD 

i EAE OR FLOATING POINT SPECIFIED? 

IF EQ NO 

SET OFFSET TO FLOATING PT.. EAE 

SYSTEM MAPPED? 

IF EQ NO 

BIAS ADDRESS RELATIVE TO APR 6 



tOFFST.(R4)» 



(R4>* 

(R4>* 

(R4)* 

IIDENT.(R4)t 

ltDENT*2,<R4)* 

(R4)* 



R1,<R4;» 
tIDFNT«2.(R4>< 



CONVERT TO ADDRESS 



; ASSUME ODT NOT SPECIFIED 



SETUP IDENT 
CLEAR INITIAL R5 



SET SIZE OF HEADER 

SET UP R4 FOR STACK tNITIALlZATtON 



; JAR 101 



••tt I 4 ttt* 



KAON MACRO MIIOI 14-DtC-77 09i)0 PAGE 2-10 



^i^AOR MACRO mi 08 U-OEC-77 09:50 PAGE 2-10 



571 0OOA64 

572 000470 

573 000474 

574 000500 

575 000502 

576 000504 
577 

578 
579 

580 000506 

581 000512 

582 000520 
58S 

585 
586 

587 
588 

589 
590 
591 
592 
595 000522 

594 000526 

595 000552 

596 000536 
597 

598 
599 
600 
601 
602 

603 000556 

604 000562 

605 000564 

606 000572 



016724 OOOOOOG 
016724 000002G 
016724 OOOOOOG 
005024 
005024 
005024 



016724 OOOOOOG 

022767 OOiiOOl OOOOOCG 

00141. 




012704 000022' 

016724 000002G 

016724 OOOOOOG 

016724 OOOOOOG 



012704 000030' 

016724 OOOOOOG 

012724 174017 

032705 OOOOOOG 

052764 000020 177776 



201: 



soil 



NOV 
NOV 
MOV 
CLR 
CLR 
CLR 

.ENDC 

MOV 
CMP 
BEQ 

.If 

MOV 
MOV 
MOV 
MOV 

.Iff 

MOV 
MOV 
MOV 
MOV 

.ENOC 

MOV 
MOV 
MOV 
BIT 
BEO 
BIS 



.IF 



tHDRBN,(R4)» 

$I0ENT*2.(R4)t 

tIDENT,(R4)t 

(R4)« 

(R4)« 

(R4)« 



tXFRA0,(R4)* 
«1. SOD TAD 
20i 



NDF 



RtSIIM 



4'HDR0,R4 
tXFRAD.(R4)* 
tTNAME.(R4)« 
tTNAME«2,(R4)t 



#HDR0*6.R4 
tTNAME*2.(R4)* 
tTNAME.(R4)* 
lXFRAD,(R4>t 



#NDPr,R4 

tODTAD.(R4)t 

#17401^(R4)♦ 

«SWtTR,R5 

30t 

«20.-2(R4) 



DF 



RItllM 



610 000572 

611 000576 


016714 


OOOOOOG 


MOV 


011467 
62767 


OOOOOOG 


ADD 


Jl^SffiSJ 


000010 177246 


MOV 
SUB 


614 000614 


166724 


OOOOOOG 


ADD 


615 000620 

616 000620 




3St> 


CALL 


618 0OM3O 


016014 


OOOOOOG 


MOV 
CALL 


619 














.IFF 


1 






MOV 






ADD 


s 






fALL 


Bi 






STl 



SETUP IDENT IN INITIAL R3 - R4 

ASSUME ODT NOT SPECIFIED, CLEAR R2 - RO 



;SET TASK TRANSFER ADDRESS 
;ODT SPECIFIED? 
:IF EQ NO 



BACKUP TO INITIAL RO 
PROGRAM XFR ADDRESS GOES IN RO 
TASK NAME IN R1 AND R2 



POINT TO INITIAL R2 

TASK NAME TO INITIAL R2 - R1 



ISTACK.(R4> 

tHDSi;.(R4) 

(R4),SPSAV 

#10,$PSAV 

tOFFST.(R4)« 

CTRT 

SI0LNG(R0).(R4) 

BLOCKS 



I STACK. (R4) 
0F>ST,(R4)» 
OTRT 

StGMEM(R0).(R4) 
BLOCKS 



TRANSFER ADDRESS GOES IN RO 



POINT TO INITIAL PC 
SET TRANSFFR ADDRESS TO DEBUGGING AID 
SET INITIAL PS WORD 
T BIT REQUESTED? 
IF EQ NO 
SET T BIT IN PS WORD 

REF. LABEL 



SET INITIAL SP CONTENTS 

ADD HEADER BIAS 

GET STACK POINTER 

POINT TO TENTH WORD IN STACK 

ADD IN OFFSET BIAS 

GET RFAl ADDRFSS OF ROOT 



IJAKIOI 
IJAKIOI 
IJAKIOI 
IJAKIOI 



SE1 LOAD Sl'( >^ BYIFS 
ROUND TO I? W BOUNDRY 



SET INITIAL STACK POINTER CONTENTS 

ADD IN OFT St T BIAS 

GE1 REAl ADDRESS Of ROOT 
SET Sl/F OF ROOT IN BYTES 
(ALIULAIE NUMBER OF 3JW BLOCKS 



•••• J 4 *••* 



HIAOR MACRO MIIOB 14-0tC-77 Ofi)0 HOI 2-11 



H€ADR MACRO Ml 108 U-OEC -77 09:50 PAGE 2-11 



628 

629 

630 00063A 

651 

632 

633 



000640 
00064A 

636 000650 

657 



t^ 



6A0 000652 

641 000660 

642 000662 




6^4 0007!? 



01672A OOOOOOG 



0167U 
036705 
001004 



366764 
005014 



000002G 
OOOOOOG 



000002G 177776 



36t: 



40t: 



012746 
012704 



000724' 
OOOOOOG 



012704 OOOOOOG 

010401 

010024 
010024 
103402 
011444 
006*14 



401 i 



50ti 



.IFTF 

NOV 

.IFT 

MOV 
BIT 
BNE 

.IFTF 

ADD 

CLR 

.IFF 

MOV 

MOV 

CALL 

MOV 

BCC 

CLRB 

MOV 

CALL 

MOV 

BCC 

CLRB 

.IFT 

MOV 
MOV 
CALL 
MOV 

MOV 

CmlL 

MOV 

MOV 

BCS 

MOV 

ASl 

RrruRN 

.INDC 



SMXLGH,(R4)t ; SET MAX. PHYSICAL MEMORY 



$MXLGH«2,(R4) 

SUSMU.RS 

361 



SET MAX. R-0 PHYSICAL MEMORY 

MULTIUSER? 

IF NE YES 



SMXLGH«2.-2(R4) ; INCLUDE R-0 ALLOCATION 
(R4) ; ZERO R-O PHYSICAL MEMORY 



n0DTV.R4 

R4,R1 

GTSYM 

R0.(R4)t 

40i 

tODTS; 

«tTSKV.R1 

GTSYM 

R0.(R4) 

HEADR3 

tTSKSZ 



«HEADR3,-<SP) 
»I00TV,R4 
401 
«tTSKV.R4 

R4.R1 ; 

GTSYM 

R0.(R4)» 

R0.(R4)* 

)0i 

(R4).-(R4) 

(R4) 



Miri FIXED PART OF HfAOfR 



0S2767 
dOHOJ 



OOOOOOG OOOOOOG 



HE ADR 1: 



en #fsiiiF.tswiCH 

BEQ 601 



GET ADDRESS OF ODT SST VECTOR 

SET SYMBOL ADDRESS FOR SEARCH 

GET SYMBOL VALUE 

SET ODT VECTOR ADDRESS 

IF CC DEFINITION FOUND 

CLEAR SIZE OF ODT VECTOR 

GET ADDRESS OF TSK VECTOR 

GET SYMBOL VALUE 

SET TSK VECTOR ADDRESS 

IF CC DEFINITION FOUND 

CLEAR SIZE OF TSK VECTOR 



PUSH ADDRESS OF NEXT ROUTINE 
GET ADDRESS OF ODT SST VECTOR 
SETUP ODT VECTOR 
GET ADDRESS OF TASK SST VECTOR 

COPY ADDRESS OF SYMBOL FOR SEARCH 

SEARCH FOR SYMMX VALUE 

SET VALUE 

CLEARS VECTOR SIZE IF NOT FOUND 

EXIT IF NOT roUND 

EISE SET VECTOR SIZE 

CONVERT TO BYTES 

EXIT TO CALLER OR NEXT PmJTINE 



;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
t*«-2 



REF LABEL 

TASK IMAGE FILE REQUESTED? 

IE to NO 



•t** K 4 «••• 



MIAMI MCRO miM U-MC-rr Of ISO PAOI Ml 



HE ADR MACRO mi08 U-OEC-77 09:50 PAGE 2-1? 



685 0007 W 0127^6 001 UA' 

686 000740 005067 OOOOOOG 
687 



690 00074A 

691 

692 

695 

694 000750 

695 

696 

697 

698 

699 

700 

701 

702 

703 000754 

704 

705 

706 

707 000756 

708 000762 

709 000764 

710 000770 

711 000776 

712 001002 
713 

714 
715 

716 001006 

717 001012 

718 QQ1014 

719 001020 

720 001026 

721 001034 
'" 001040 



005067 OOOOOOG 



016700 OOOOOOG 



001453 



012705 
005300 
010067 
016767 



005767 
001414 
012705 
016767 
062767 



012705 
016767 
005567 
005067 




0t/^4A 



000000* 

OOOOOOG 
OOOOOOG OOOOOOG 



OOOOOOG 

000164* 

1 77036 OOOOOOG 

000010 OOOOOOG 



000000' 

OOOOOOG OOOOOOG 
OOOOOOG 
OOOOOOG 

000000 



000001 
000001 



soil 

401 1 



4Sli 



MOV 
CLR 

.IF 

CLR 

.ENDC 

MOV 

.IF 

SUB 

CLR 

.IFF 

BEQ 

.eNOC 

MOV 

DEC 

MOV 

MOV 

CALL 

CALL 



TST 

BEQ 

MOV 

MOV 

ADD 

CALL 

CALL 

.ENOr 

MOV 
MOV 
DEC 
CLR 

CLR 

MOV 
BEQ 

MOV 
MOV 



#MEA0R4,-(SP) ; PUSH ADDRESS OF NEXT ROUTINE 

SBEGRW ; SET LOW MEMORY LIM.'T 

DF RStllM 

ILOWRW : CLEAR LOW R/W ADDRESS LIMIT 

SHDSIZ.RO ; GET SIZE OF HEADER 
NOF RSS1 1M 



SLBLS7,R0 
tNDOFF 



20t 



«NDRBAS,R5 

RO 

RO.IENORW 

iHDRBN.tRLBLK 

30t 

IF LUSH 



.IF DF RttllM 



ISTACK 

20t 

«HDRSP4,R5 

SPSAV.IENDRW 

«10,IIMDRW 

301 

IF LUSH 



«IBIBAS,R5 
llBLS/.iFNORW 
lENDRtf 
IRIBIK 

MFFLG 

(R5m,RJ 

601 

(R)>t.R4 

Hi" 

11, R4 
(R4).R4 

(R5)».-(SP) 



; OFFSET TO START OF HEADER 
; CLEAR HEADER OFFSET 



; SKIP HEADER WRITE IF ZERO 



GET BASE ADDRESS OF HEADER BLOCK TABLE 

BACK OFF TO REAL END OF HEADER 

SET MEMORY LIMITS 

SET RELATIVE BLOCK NUMBER 

WRITE TASK HEADER 

OUTPUT BUFFER CONTENTS. 



TASK HAVE STACK? 

IF EQ NO 

GET ADDRFSS OF REGISTER TABLE 

GIT STACK ADDRESS 

SET MEMORY LIMITS 

WRIT! R4 AND RS INTO TASK'S STACK 

OUTPUT BUFFER CONTENTS 



GET BASF ADDRESS OF lABEl BLOCK TABLE 

SET ADORFSS I IMIT 

BACK on TO RtAl FND 

CLEAR RELATIVE BlOfK NUMBFR 

REF LABEL 

SfT BUFFFR FLAG TO FALSE 

REP lABFl 

?f 

CFT ADDRESS IN MFADIA 

SEE If INDIRECT ADDRESS SPECIFIED 

IF to NO 
. YES. CLEAR INDIRECT BIT 
; GEt REAL ADDRESS 



;JAK101 
;JAK101 
IJAKIOI 
;JAK101 
;JAK101 
IJAKIOI 
;JAK101 
IJAKIOI 
IJAKIOI 
;JAK101 
IJAKIOI 
IJAKIOI 



Sh AOr)RISS OF TEXT INfORMAtUM 
IF ru DUNE 



;SIT LOOP COUNT 



•••• L 4 •••• 



HIAOR MACRO M1108 U-t*IC-77 09t50 PAGE 2-1 5 



HEAOR MACRO mi08 U-DEC-77 09:50 PAGE 2-13 



7« 001116 
7A3 001116 
74A 001120 
7A5 001122 
746 001126 
7A7 001152 
7A8 001 1M 

749 001156 

750 001 UO 

751 001 U2 

752 001 U2 



759 001 i:o 

760 001152 

761 001154 

762 001156 
765 001160 

764 001162 

765 001164 

766 001166 

767 001170 

768 001172 

769 001174 

770 001 176 

771 001200 



772 001 
775 0(»1 



'74 001210 



% 



012501 
010400 

062704 
005516 
005570 
005726 
000754 



012705 
011505 

010505 
010546 
005725 
012505 
112504 

??l?tS 

012500 
006500 
006500 
062700 
010046 
010501 




501: 



000002 



60t: 



MOV 

MOV 

CALL 

ADD 

DEC 

BGT 

TST 

M 

RETURN 



(R3)».R1 

R4.R0 

tWRWRD 

«2.R4 

(SP) 

sot 

(SP)» 
40S 



WRITE LUN ASSIGNMENTS 



OOOOOOG 



1777740 



000002 



HEA0R4: MOV 
101: MOV 
BEO 
MOV 
MOV 
TST 
MOV 
MOVB 
CLR 
B1S8 
MOV 
ASL 
ASL 
ADD 
MOV 
MOV 
CALL 
MOV 
ADD 
MOV 
CALL 



201 1 



IT 
MOV 
IR 



fSLUNHD.RS 

(R5),R5 

HEADR5 

R5.R5 

R5.-<SP) 

(R5)* 

(R5)*.R5 

(R5)«.R4 

-(SP) 

<R5)*.(SP) 

(R5)«,R0 

RO 

RO 

»LiaASG-4,R0 

RQ.-(SP) 

R$,R1 

tyRwRD 

(SP)t.RO 

*2.R0 

R4.Rt 

lyRWRD 

(SP) 

201 

($P)» 

($P)«.R5 

tot 



: SET WORD TO BE WRITTEN 
.-SET VIRTUAL ADDRESS OF WORD 
.-WRITE WORD INTO HEADER 
.'UPDATE VIRTUAL ADDRESS 
.■DECREMENT LOOP COUNT 
; IF GT 60 AGAIN 
.•CLEAN STACK 
; GO AGAIN 



;GET ADDRESS OF ASSIGNMENT LISTHEAD 

.-GET ADDRESS OF NEXT ASSIGNMENT 

;IF EQ DONE 

.'COPY ENTRY ADDRESS 

;SAVE ENTRY ADDRESS 

;POINT TO DEVICE NAME 

;GET DEVICE NAME 

:GET PHYSICAL UNIT 

.'CLEAR WORD ON STACK 

;SET LOOP COUNT 

;GET LUN NUMBER 

;MULTIPLr BY 4 

; CALCULATE ADDRESS IN LABEL BLOCK 

.-SAVE ADDRESS IN LABEL BLOCK 

;SFT WORD TO BE WRITTFN 

.'WRITE DEVICE NAME INTO LABFl BLOCK 

{RETRIEVE ADDRESS IN LABEL BLOCK 

;POINT TO SECOND ASSIGNMENT WORD 

;SET WORD TO BE WRITTEN 

;WRITF PHYSICAL UNIT INTO LABFL Bl OCK 

{DECREMENT LOOP COUNT 

.'IF GT GO AGAIN 

; CLEAN STACK 

{RETRIEVE ADDRESS OF NFXT FN'RY 

; 



WRITE IIBRARV LIST INTO LABfl BLOCK 



OOOfi 
OOOOOOG 
OOOOOOG 00^1)000 



HCADRSi 



lOli 



SX f«L5RHO-llDNKT.R5 • 3fT LlSTHfAD ADDRFSn MINUS OFfStT 

V «li8lIB.R4 ; ^tf OFFSFT to lIBRARY LIST 



LtDNNT(R5>.R5 ; GET NEXT ENTRY 
MEADR6 i IF (Q DONE 

iLDtRSV,HDfl.0(H5) i CHAR APR RESERVATION FLAG 
''\'''L . •' COPY ADDRESS OF fNTRY 

^''^^^ImIw^'-'' ^IN' TO^ 



*IM| tR-(MPAfl/^.-(sh 



' TO MAME 
; SET sl/t 



0* fN'Rr IN WnRD^ 



•••• M 4 •••• 



HIADR MACRO M110I U-DIC -77 09:50 PACT ?-U 



HEADR MACRO M1108 U-DEC-77 09:50 PAGE 2'\l* 



799 001300 

800 001300 

801 001302 

802 001 3M 

803 001310 
80A 001 3U 

805 001316 

806 001320 

807 001322 
808 

809 

810 

811 

812 

813 

8U 001324 

815 001324 

.16 W,W 




817 ^_ ,_ 

818 0O134O 

819 001 $A6 

820 001 ?'0 

821 001^^4 

822 001360 

823 001364 

824 001370 

825 001574 

826 001374 

827 001400 
828 
829 
B30 



8! 

831 
832 
855 
8V. 



001402 

00U02 

855 001496 

' )1412 




001444 



012301 
010400 
062704 

005316 
001370 
005226 
000753 



20t: 



000002 



MOV 

MOV 

ADD 

CALL 

DEC 

BNE 

INC 

Bft 



<R3)»,R1 

R4,R0 

#2,R4 

tWRWRD 

(SP) 

20$ 

(SP)» 

lot 



GET WORD TO BE WRITTEN 

SET VIRTUAL ADDRESS TO WRITE DATA 

UPDATE ADDRESS 

WRITE WORD INTO TASK IMAGE 

DECREMENT COUNT 

IF NE GO AGAIN 

CLEAN STACK 

GET NEXT ENTRr 



WRITE SEGMENT LOAD LIST INTO LABEL BLOCK IF TASK IS 
RESIDENT LIBRARY AND HAS OVERLAYS. 



026727 


OOOOOOG 


001420 




IWr^ 


OOOOOOG 


OOOOOOG 


001412 




016700 OOOOOOU 
162700 001000 


010067 


176414 


012700 


001402* 



000001 



HEADR6: 



OOOOOOG 



lOl! 



CMP INUMSG.«1 

BEQ 101 

MOV tTSKPT.RO , 

BIT «SWlNH.RfSWTH(RO> 

BCQ lOt 

MOV SLBLSZ.RO 

SUB «512.,R0 

MOV RO.HDDAT 

MOV #MEADR7,R0 

CALL IPCTRL 

CALL tFLUSH 
RETURN 



TASK HAVE OVERLAYS? 

IF EQ NO 

GET ADDRESS OF TASK RECORD BLOCK 

; BUILDING RESIDENT LIBRARY? 

IF EO NO 

GET SIZE OF LABEL BLOCK GROUP 

BACK OFF TO START OF SEGMENT LIST 

SAVE SEGMENT LIST ADDRESS 

SET ADDRESS OF PHASE DEPENDANT ROUTINE 

CALL PHASE DEPENDANT ROUTINE 

FLUSH CURRENT BUFFER 



016700 
016702 




176572 

OOOOOOG 

OOOOOOG 

OOOOOOG OOOOOOG 

000002 1 76342 



; PHASE DEPENDANT ROUTINE TO WRITE SEGMENT LENGTH LIST INTO TASK IMAGE 
HEADR7: 



lOli 



; 



MOV 
MOV 
MOV 
BEQ 
BITB 

AOD 
CALL 

RETURN 



HDDAT.RO ; SET TASK ADDRESS 

tCRSEG.R2 ; GET REAL ADDRESS OF SEGMENT 

StGLNG(R?).R1 ; GET IfNGTH Of SEGMENT 

101 : IF EQ. /FRO IfNGTH SfGMINt 

«SGtDSK.StGSTS(R2) ; SEGMENT HAVE DISK ALLOCATION? 

lOt j IF NE NO 

«2,HDDAr ; UPDATE TASK ADDRESS 

tWRWRD ; WRITE LENGTH OF DISK READ INTO lABFl RIOCK 

i 



SUBROUTINE . 
; S2W BOiMDRv. 
; 



. SUBTRACT OUT Sl/F OF LABEL BIOCK, ROUND TO NEXT 
AND CALCULATE NUMBER OF RESULTANT 1?W BLOCKS. 



•LOCKS I 



.1^ 

sm 



mt RiiiiM 

tLBLS;.'R4> 



SUBTRACT OUT SI/I OF LABEL BLOCK 



ME ADR HACRO Nil 08 U-DEC-77 09:50 PAGE 2-15 




.IHF 



171 

172 0OU72 
75 OOU72 
n 00U76 
75 00150* 
876 001 5U 



000077 
000077 



RON 

RETURN 



#77. (R4) 

#77, (R«) 

(R4) 

(R4) 

(R4) 

(R4) 

(R4) 

(R4)* 



ROUND UP TO NEXT 32W BOUNDRV 
CLEAR EXCESS BITS 
PRESERVE POSSIBLE CARRY 
CONVERT TO 32W BLOCKS 



ISSUE ERROR MESSAGE. CANCEL TASK IMAGE OUTPUT AND CLOSE TASK FILE 



CANTSKi 



04276' OOOOOOCi OOvOOOG 



CALL 
BIC 

CLOSES 
RETURN 



tlRMSG 

#TSlKF.ISyTCH 

•TSKPT 



ISSUE NON-FATAL ERROR MESSAGE 
CANCEL TASK IMAGE OUTPUT 
CLOSE TASK IMAGE FILE 



• iFT 



; SUBROUTINE TO FILL APR REGISTERS 



if 



FLAPR! MOV 
MOV 



lOll 
fOlt 



soil 

40li 




RI.-(SP) 
RQ.R3 



(SP),lHDPDR(RJ) 
R4.IHDPAR(RS) 



.tNDPDR(RS) 



SAVE ACCESS CODE 
COPY STARTING ADDRESS 
ISOLATE APR MfBER 



CONVERT TO TABLE INDEX 

SET PDR CONTENTS 

SET ADDITIVE BLOCK NUMBER 
.CLEAR 4K ADDRESS ACCUMULATOR 
i CLEAR ADDITlvl BLOCK NUMBER 
M»011 



{INCREMENT ADDITIVE 
.•♦♦OniNCREMlNT TC 
.'♦♦Oil EXIT IF CROS 
;DONIT 
;lf MIS VfS 
jCROSi 4K BOUNDRfT 
ilF HIS YES 
i INCRiNENT 



VE BLOC 
TC iixT 

os: w 



OCK COUNT 

S? W BOUNDARY 
K WORD LIMIT. 



BLOCK IfNGTH FIELD 



] ADVANCE TO NEXT APR 

icilAN STACK 
I 



tttt I s •••• 



HE/^OR MACRO Nn08 U-DEC-77 09:50 PAGE 2-16 



913 

9U .ENDC 

915 

91 « 

917 

918 

919 

920 

921 

922 

925 

934 



SUBROUTINE TO GET SYMBOL VALUE 




925 0011 

926 001540 

927 001 542 

928 001544 

929 001552 

930 001554 

931 001556 

932 001564 

933 001566 

934 CCI572 

935 001576 

936 001600 

937 001604 

938 001612 

939 001614 

940 001620 
001622 




162701 

062700 

103431 
010001 
005000 
132761 
000261 
001422 
152761 
001405 
016101 

010001 
016100 
132761 
001402 
066700 
000241 



GTSVMt 



OOOOOOG 
OOCOOOG 

OOOOOOG OOOOOOG 

OOOOOOG OOOOOOG 
OOOOOOG 



OOOOOOG lot I 
OOOOOOG OOOOOOG 



OOOOOOG 



i8 



SUB 

CALL 

ADD 

CALL 

ICS 

MOV 

CLR 

BITB 

SEC 

BEQ 

BITB 

CALL 
MOV 
MOV 
BITR 

i 

RETURN 



«SSYM.R1 

GTRT 

fSSGSTB.RO 

ISRCH 

30$ 

R0.R1 

«SVtDEF,StVFLG(R^ 

501 i 

»SySlNO.StYFLG(Rl 
101 ; 

StYVAL(R1).R1 ; 
ICVRL ; 

R0.R1 ; 

StYVAL(R1).R0 ; 
»SYIREL,SSYFLG(R1 
20t 
•OFFST.RO 



CALCULATE PROPER OFFSET 
GET REAL ADDRESS OF ROOT 

POINT TO SYMBOL TABLE 

SEARCH FOR SYMBOL 

IF CS NO FIND EM 

COPY ENTRY ADDRESS 

ASSUME DEFINITION NOT FOUND 

). DEFINITION? 

ASSUME NOT DEFINITION 

IF EQ NOT A DEFINITION 

):INOIRECT ENTRY? 

IF EQ NO 

GET ADDRESS OF REAL ENTRY 
CONVERT TO REAL ADDRESS 
COPY REAL ADDRESS 

GET SYMBOL VALUE 

):RELOCATABLE SYMBOL? 

IF kQ NO 

ADD OFFSET BIAS 

CLEAR CARRY 



; CONVERT VIRTUAL ADDRESS OF ROOT SEGMENT TO REAL ADDRESS IN RO. 



Q10U6 

016701 OOOOOOG 

012601 

000001 



GTRTi 



Sl 

MOV 

RETURN 

.(ND 



R1.-(SP) J SAVE R1 

SRTSEG.R1 I GET VITUAL ADDRESS OF ROOT 

tCVRL ; CONVERT TO REAL ADDRESS IN RO 

(SP)*.R1 ; RESTORE R1 



*••• c s ***• 



■«-•« AA.BA 



MEADR MACAO M1108 
SYMBOL TABLE 



U-DEC-77 09:50 PAGE 2-17 



BITBAS 

BLOCKS 

CANTSK 

CR 

EtRM > 

Etft86 > 

FF « 

GTRT 

GTSY« 

6.TICP» 

G.TICT- 

G.T10A> 

G.TIHR- 

G.TINI- 

G.TIMO- 

G.TISC" 

G.T1VN> 

HOOAT 

HOFLP 

hold: 

HCMXZ 

HOPC 

HOPS 

HOIWAS 

H0flSP4 

HDfK) 

Hosi; 

MOSP 

>«SWT 

HCAPRO 

HEA0R1 

HEAORZ 

HE ADDS 

HEAOK^ 

HEAORS 

HEA0R6 

HEV>Rr 

HOARD 

HT 

HVRTL 

. MIS. 



OOOOOOR 
00U44R 
00U72R 
000015 

****** QX 

*••*** 6x 

QOOOU 
001624R 
001516R 
000016 



000006 

000010 

ooooof 

oooou 



000040P 
000030R 
000052R 
OOOOOOR 

000164R 
OOOOUR 
000010R 
0000S4R 

"' An 

152R 




12A2R 
IWR 
Q0U02R 
0OOM6f> 
0000'' 
Of)005?R 



OOOOOO 

QQ1M2 
BITBL 000092 
HORTBl 000174 
IBirBi 000200 
ERRORS DEtECTEDt 

VIRTUAL mWHi USED 
DYNAMIC WMORVi IS 



002 HVRTO 000054R 
HICSP » •••♦♦• 6X 
H$CUIC« •••**• GX 
H$OSIZ« ••*••• GX 
HtOUIC> •••••• GX 

HIEFLM- ••♦••• GX 
HSFOT ■ •••♦•• GX 
H»FPSA« •••••* GX 

HIFSR ■ ••••♦* GX 

H»GARD« ♦•••«• GX 
HtlPC « ••♦*** GX 
HtlPS « •••••• GX 

HtlSP « •••••• GX 

HILUN « •♦•••♦ GX 
HWLUN' •••••• GX 

H»OOVA« •♦♦••• GX 
HIOVLY" •••••• GX 

HtTKVA- *•♦••• GX 
HIVEXT« •••••♦ GX 

HtyNO ■ *•*•*• GX 
LBLBAS OOOOOOR 004 
LDIRSV- •**••* GX 

LF - 000012 

003 LSBASG- ••***• GX 
003 LS8BLK> ***••* qx 

LIB0AT> *••••• GX 

LieiXT- •••••• GX 

LISFLC" •••••• GX 

LMNGV- •***•• GX 
LMNRB" *••*** GX 
LMLDZ- ****** GX 
LfBLIB- ****** GX 
LtOLUN' ****** GX 
LtBMXV' ****** GX 
LMMXZ- ****** GX 
LiaOFF- ****** GX 
LtBPAR* ****** GX 
LMPRl- ****** GX 
LlBR0B-< •**••* GX 
LIBROL* ****** 6X 

000 

i 

00! 
004 



LSSSA « ****** GX 
LS8SEG» ****** GX 
LttSGL" ****** GX 
LI8TSIC« ****** GX 
LtayNO* ****** GX 
LlflXFR« ****** GX 
LSDFLG« ****** GX 
LtDNME- ****** GX 
LIDNXT« ****** GX 
MPtSY ■ ***«*• GX 
PARIII> 000067 
RGSAV OOOOSOR 
ROLDZ 000042R 
RISWTH> ****** GX 
Rtl11M> OOOOOO 
SGtDSK* ****** GX 
SPA ■ 000040 
SPR4 00001 2R 
SPSAV 000062K 
SylAC ■ ****** GX 

swtcn • ****** GX 

SWICP « ****** GX 
SWIEA ■ ****** GX 
SWIFP ■ ****** GX 
SWWU > ****** GX 
SUINH - ****** GX 
SWMS > ****** GX 

SMNT > * GX 

SWIPl - ***••• GX 
SWSPM ■ ****** GX 
SWIPR • *••••• GX 
SWtSL " ****** GX 
SWtTR • ****** GX 

SYIDEF- GX 

SYIINO- ****** GX 

SVIREL* GX 

StGLNG* * GX 

StGSTB- ****** GX 
SIGSTS* ****** GX 



I 2545 WORDS ( 10 PAGES) 
744 WORDS ( 60 PAGES) 



IW*$W '"*' 90: 00 1 59 
f31,20lHfAOR,r31,!0lHfADR/-SP«fS1,10]«ACFL«.MCADR 



y> 



SJVO « •**••* GX 
S$YFLG« •***•« GX 
S$YM « ****** GX 
S$YVAL« ****** GX 
StZWN0> ****** GX 
TSIACP" ****** GX 

TSICMK- ****** GX 

TSIC«P« ****** GX 

TSIKF « ****** GX 

TSINET- ****** GX 

TS»NHD« ****** GX 

TSWSO« ****** GX 

TStPIC* ****** GX 

TS$P»« ****** GX 

TS»PRV« ****** GX 

TSIRES- ****** GX 

TSISLV" ****** GX 

VT • 000013 

WNADR 0000S6R 

WNOPT 000060R 

SBEGRW* ****** GX 

I8FFLG- ****** GX 

ICRSEG* ****** GX 

ICVRL ■ ****** GX 

tENDRW* ****** GX 

tERMSG- ****** GX 

•FLUSH* ****** GK 

IHDRBN* ****** GX 

IHDSIZ" •«**•• GX 

IHEADR 00;;064nG 

tHEXT > •«*•** GX 

IHFSR ■ ****** GX 

tHGHAD* ****** 6X 

IHOTV ■ ****** GX 

IHOVLY" •*•*** GX 

IHVRTL* ****** GX 

tMVRTO* *♦•*♦• GX 

IIOENT" ****** OX 

tLBBLK* ***•>* GX 



$LBEXT« ****** GX 
ILBLSZ- ****** GX 
IL80FF« ****** GX 
IL8RHD« ****** GX 
ILBSGL* ****** GX 
$LOWRW« **•*•• GX 
SLUNHD« ****** GX 
$«UL . ****** GX 
WXLGH> ****** GX 
WXWND" ****** GX 
SNUnSG> ****** GX 
SNUMWN> ****** GX 

INUNIT. * GX 

lOOTAD- ****** GX 
$ODTV « ****** GX 
•OFFST« ****** GX 
SOUTBF- ****** GX 
SPCTRL« ****** GX 
tPNAME- ****** GX 
•PRIOR- ****** GX 
•RLBLK" ****** GX 
tROBLK* ****** OX 
IRTSEG" ****** GX 
SSAVR6- ****** GX 
«SRCH . ****** GX 
ISTACK« ****** GX 
tSWTCH« ****** GX 
ISZSEG- ****** GX 
ITKUIC* ****** UX 
ITNAME- ****** GX 
ITinPf ****** GX 
ITSKV » ****** GX 
STSXWD* *••**• GX 
•WRUG* ****** GX 
IWRWRD* ****** GX 
IXFRAD' ****** GX 
IS a 000001 
SSSOST* 000020 
.CLOSE* ♦•••♦« G 



#••• i s •••• 




••*• I ) *•*• 



IMIDM lUrNQ MllOa 14-DrC-?7 09!M PAOI I 



INIWH MACRO MIIOB U-DEC-77 09:51 PAGE 2 



.TITLE 
. I DENT 



INIDM 
/OO/ 



Mi 000000 000000 000000 
4! 



48 000004 



COPYRIGHT (C) 1976 

DIGITAL EQUIPMENT CORPORATION, NAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOMCE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 00 

C. MONIA 30-JUL-76 

INITIALIZE DYNAMIC MEMORY 

MACRO LIBRARY CALLS 



.MCALL DIRt.GPRTt.GTSKt 

LOCAL DATA 

TASK IMAGE MEMORY UNITS 

LIMIT: .LIMIT J 

'GET PARTITION PARAMTERS' DPB 



PDP6; GPRTt ,TBUF 



I 



|a oooou 

)9 



; 'GET TASK PARAMTERS' DPB 

; 

TDPBt GTSKI TBUF 
; PARAMETER 6UFFFR 



••«• f ) ••«• 



INtOM MACRO Mil OH U-Drf-77 09i51 PAW 2-1 



INIDM MACRO mi08 U-DEC-77 09:51 PAGE 2-1 



60 000020 
61 



85 000060 

86 000060 

87 000064 

90 000076 




102 000U4 
OS 0O0U6 



i$ 



016702 
062702 
0*2702 
010210 
005001 



177716 
000005 
000003 



TBUF: 



.BLKW 16. 



**-SINIDM-lNITIALIZE DYNAMICALLY ALLOCATED STORAGE 

THIS SUBROUTINE IS CALLED TO ESTABLISH THE INITIAL STATE 
OF THE CORE POOL REFERENCED BY THE SUBROUTINES WHICH ALLO- 
CATE AND DEALLOCATE CORE BLOCKS. THE POOL CONSISTS OF ALL 
MEMORV EXTENDING FROM THE END OF THE TASK IMAGE TO THE LAST 
PHYSICAL LOCATION OWNED BY THE TASK. 

INPUTS: 

RO>ADDRESS OF FREE CORE POOL LISTHEAD 

OUTPUTS: 

RO-FIRST ADDRESS IN TASK 

R1 -ADDRESS FOLLOWING TASK IMAGE 

R2>SIZE OF CORE POOL 

ANY PREVIOUS TASK MEMORY EXTENSION IS DE-ALLOCATED. THE 
REMAINING FREE CORE AREA IS ALLOCATED TO THE MEMORY POOL. 



SINIDM:: 



016700 OOOOOOG 



010246 




dl6f!J 
160016 

mi 

162612 

011202 



000001 



177716 



MOV 

ADD 

BIC 

MOV 

CLR 

CALL 

DIRI 

MOV 

DlRt 

MOV 

CLR 

MOV 

SUB 

MOV 

ADD 

SUB 

MOV 

RETURN 

.END 



LIMIT»2.R2 



IVS.RS 



.R2 
R2.(R0) 
R1 
lEXTSK 

#PDPB 

IDSW.RO 

#TDPB 

R2,-(SP) 

(Hi)* 

TBUF ♦32. (R2) 

RO.(SP) 

R0.R1 

(R2).R1 

(SP)».(R2) 

(R2J,R2 



GET ADDRESS OF CORE POOL 

ROUND UP TO NEXT A-BYTE BOUNDARY 

SET ADDRESS OF POOL 
RESET TASK SIZE 

GET PARTITION PARAMETERS 

SAVE STARTING VIRTUAL ADDRESS OF PARTITION 

GET TASK PARAMETERS 

SAVE ADDRESS OF CORE POOL 

CLEAR FIRST WORD OF DYNAMIC STORE 

SET PHYSICAL SIZE OF TASK 

COMPUTE APPARENT TASK Silt 

COPY BASE ADDRESS OF TASK 

COMPUTE NEXT ADDRESS AFTER TASK 

SET SIZE OF FREE POOL 

GET SIZE OF POOL 



••** 



TT 



•«•« 



l^M .?A.t?OM1108 U-DfC-77 09i51 PACr M 



INIDM MACRO Ml 108 
SYMBOL TABLE 



U-DEC-77 09:51 PAGE 2-2 



CR 

FF « 

G.F>RBA* 
G.PRFW' 
G.PRPB* 
G.PRPN« 
G.PRPS« 
G.TSBA« 



000015 
OOOOU 
000006 
000004 
000000 
)2 
)2 
)2 




G.TSFU> 
G.TSGC« 
G.TSHT« 
G.TSNL* 
G.TSPC" 
6.TSPN- 
G.TSPR« 
G.TSRN- 



000024 
000017 
000022 
000020 
000016 
000004 
OOOOU 
000010 



G.TSSY= 


000054 


G.TSTN= 


000000 


6.TSTS= 


000032 


G.TSVAs 


000026 


G.TSVL" 


000030 


HT 


000011 


LF 


LIMIT 


OOOOOOR 



PDPB 

RXtlAS' 

RXtllD- 

RX$11M> 

RXt11S« 

RtSIIM* 

SPA « 

TBUF 



000004R 

000003 

000000 

000001 

000002 

000000 

000040 

000020R 



TDPB 


00001 4R 


VT 


000013 


SDSW c 


•♦*♦•• 6X 


SEXTSK' 


•♦•♦♦* GX 


SINIDM 


000060RG 


ss 


000001 


$$S0ST> 


000004 


tSSTI « 


000000 



. ABS. 000000 000 
000150 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 1421 WORDS ( 6 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:10 
C31.20]INIOM.C31,30]INIDM/-SP*C31.10]MACFLMJN1DM 



#••• N ) •••• 




••*• I ) •«*• 



iNin lufiw «no8 u-Dif-rr 091^1 mw j 



INITL MACRO M1108 U-OEC-77 09:51 PAGE 5 



< 



.TITLE INITL 
.IDENT /25/ 



C0PVRI6NT (C) 1976 

DIGITAL EQUIPMENT CORPORATION. NAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT !S SUBJFCT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGDAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



;**-1 



COPYRIGHT 1976. DIGITAL EQUIPMENT CORP.. MAYNARD. 
VERSION 25 

D. N. CUTLER/C. MONIA 21-JAN-7A 

MODIFICATIONS: 

NO. DATE PROGRAMMER 



?3-SEP-75 
M-JAN-76 
II -FEB- 76 
62-MAR-76 
f4-MAR-76 
?7-MAR-76 



MASS. 



.•••-1 



J -APR- 76 
-JUL-76 





MONIA 




MONIA 




MONIA 




MONIA 




MONIA 




MONIA 




MONIA 




MONIA 



; 

; GENERAL INITIALIZATION ROUTINl 
MACRO LIBRARY CALLS 

.MCALL DIRt.CPRTS 

I 

) LOCAL MACROS 

) MACRO TO ISSUE RSX-11P 'READ EVENT riAG' DIRECTIVE 

I 

; RDFrtS FLAG 



••*• J 3 •#•• 



INITl MACRO MIIOB U-DEC-T? 0«i51 PAW S-1 



INITL MACRO M1108 U-OEC-77 09:51 PAGE 3-1 



il 

60 
61 
62 
63 
6A 
65 
66 
67 
68 
69 



WHERE: 



80 
81 
82 

83 

84 000000 

85 000000 

86 000004 

87 000010 



012700 
012701 

005020 




FLAC'EVENT FLAG NUMBER (1 TO 64.) 



.MACRO RDEFSS FLAG 

MOV FLAG.-(SP) 

MOV #<2*400!37.>.-(SP) 

DIRS 

.ENDM 



•*-IINITL-GENERAL INITIALIZATION ROUTINE 

THIS ROUTINE IS CALLED AT THE START OF EACH TASK BUILD TO 
INITIALIZE STORAGE. 

INPUTS: 

NUNC • 
OUTPUTS: 

INITIAL STATE OF STORAGE IS SET UP. 



IINITL:: 



OOOOOOG 
OOOOOOG 



Ml 




OOOOOOQ 



OOOOOOC 

OOOOOOG 

177776 

OOOOOOG 0000000 

OOOOOOG 



lit 



CALL 

MOV 

MOV 

CLR 

SOB 

MOV 

CLR 

MOV 

CLR 

CALL 

CLR 

MOV 

MOV 

MOV 

MOV 

BCQ 

CLR 

MOV 

MOV 

ISin 
III 

MOV 



IF INI T 

fflCLRBG.RO 

fClLRSZ.RI 

(RO)* 
R1.2I 

tDFSWT.tSWTCH 

%nmm 

IINIPT.RO 

•RSNMBK(RO) 

ISTRCB 

tERRCT 

#$FRHD,RO 

irtFRSn.Rl 

RI.(RO) 

««IFRSZ2-IFRSZ1 

3t 

(RD* 

R2,(R1) 

R2.SFRSIZ 

f] 77776. R1 

SDSW.IRSXSY 

tINIDM 
R?.tFRSIZ 



I 



INITIALIZE FCS STORAGE 
GET START Of AREA TO CLEAR 
GET NUMBER OF WORDS TO CLEAR 

INITIALIZE MEMORY 

SET DEFAULT SWITCH WORD 

CLEAR SYSTEM LIBRARY NAMEBLOCK ADDRESS 

GET INPUT REDOF)D BLOCK POINTER 

NO NAME BLOCK TO SETUP 

SETUP FCS STORAGE 

CLEAR ERROR COUNT 

' ■' ADDRESS OF FREE POOL LISTHEAD 

(< CORE POOL ADDRESS 
. !>H LINK TO CORE POOL 
>rC5>,R2 , GET SIZE OF CORE POOL 

IF EO NONE 

CLEAR LINK TO NEKT 

SET POOL SIZE 

RECORD INITIAL SIZE OF POOL 

SET TOP ADDRESS TO MAX 
EXECUTE NON RSX-IIM DIRECTIVE 
RESULT IDENTlFirS SYSTEM 
IF r/( RUNNING UNDER RSX-IID 
INItlAl l/( DYNAMIC MEMORY 
; RECORD INITIAL POOL SIZE 



.IF DF RttllM 



••t« K I t««« 



INITL MACRO M1108 U-DIC-77 Of i)1 ^AQI S-2 



INITL MACRO MHOB U-OEC-77 09:51 PAGE 3-2 



115 000U2 

116 00OU4 

117 0OOU6 
118 

119 
120 

121 0001 5A 

122 0001 5A 
125 000162 
12A 000166 




»46 
. 000250 

137 000250 

138 00025? 

139 000256 
UO C00262 
U1 000266 
y'^2 000272 
143 000276 
U4 OC 



150 

151 



005700 
001003 
052767 



OOOOOOG OOOOOOG 



052767 OOOOOOG OOOOOOG 



4S: 



103513 
012767 
005067 
012767 
012767 
012767 
012701 
010U6 

010167 
012701 
012602 

112120 

012701 

010167 

112760 
01 6760 
Q10167 
010167 
010067 
062701 
010100 
016701 



000100 OOOOOOG 
OOOOOOG 

177774G OOOOOOG 
020000 OOOOOOG 
OOOOOOG OOOOOOG 
OOOOOOG 



OOOOOOG 
OOOOOOG 



III 



OOOOOOG 

OOOOOOG 

OOOOOOC OOOOOOG 

OOOOOOG OOOOOOG 

OOOOOOG 

OOOOOOG 

OOOOOOG 

OOOOOOC 

OOOOOOG 



mooQ 

OQOOOG OOOOOOG 

" "1 OOOOOOG 

1 OOOOOOG 




OOOOOOG 



""?] 



000001 



OOOOOOC 



lOli 



TST 
BNE 
BIS 

.ENDC 



BIS 

CALL 

BCS 

NOV 

CLR 

MOV 

MOV 

MOV 

MOV 

MOV 

CALL 

MOV 

MOV 

MOV 

MOVB 
SOB 

MOV 

CALL 

MOV 

CALL 

MOVB 

MOV 

MOV 

MOV 

MOV 

AOP 

MOV 

MOV 

CALL 

CALL 

CLR 

^ 

CLR 
CLR 

MOV 
Rf fURN 

MOV 
CLR 
CALL 

.END 



RO 
4t 

«MPSSV,tSWTCH 



fABIRT.SSWTCH 

SINIVM 

101 

*64..tPHVBD 

ISVMHD 

«StZSEG-4,tSZSEG 

«20000.tVRTB0 

«DSFAPR,$I>RVAP 

«CtSLGH,R1 

R1.-{SP) 

lALVRT 

Rl.tASCT 

«tABSCr.R1 

(SP)*,R2 

(R1)».(R0)t 

R2.5I 

«wiNLGH,R1 

tALVRT 

RMRTWDP 

lALSGD 

«<SGIDES:SG»L0D> 

tRTWOP.StCWDPCRO 

R1.IRTSEG 

R1.ICRVSG 

RO.ICRSEG 

mGCST/?,R1 

R1.R0 

lASCT.RI 

tSRCHI 

tisyM 

tSCTHD 

«ABtRr,tSWTCH 

«1,tNfRAD 

«1.tO0TAD 

tiDENT 

viRrsrctPATH 



ir<StV2*400!EtR75 

R? 

tERMSG 



SYSTEM MAPPED? 

IF NE NO 

SET DEFAULT TO MAPPED SYSTEM 



FORCE ABORT ON ANY ERROR 
INITIALIZE WORKFILE SYSTEM 
IF C/S y0RKFIL£ OPEN FAILURE 
SET PHYSICAL ADDRESS BOUND 
CLEAR SYMBOL T>\BLE LISTHEAD 
; SET SIZE OF RESIDENT SEGMENT DESCRIPTOR 
SET VIRTUAL ADDRESS BOUND 
SET DEFAULT PRIVILEGED APR 
GET LENGTH OF SECTION ENTRY 
SAVE LENGTH 

ALLOCATE VIRTUAL MEMORY 
SAVE VIRTUAL ADDRESS OF ASS 
GET ADDRESS OF PROTOTYPE ABS SECTION 
RETRIEVE LENGTH 

COPY ENTRY 

GET SIZE OF WINDOW BLOCK 

ALLOCATE WINDOW BLOCK 

MARK ADDRESS OF ROOT WINDOW DESCR. 
ALLOCATE ROOT SEGMENT DESCRIPTOR 
,StGSTS(RO) ; SET STATUS TO IN-CORE. LOADED 
) ; SET WINDOW BLOCK ADDRESS 

SET VIRTUAL ADDRESS OF DESCRIPTOR 

SET VIRTUAL ADDRESS OF CURRENT SEGMENT 
SET CURRENT SEG POINTER 

POINT TO SECTION TABLE 

COPY LISTHEAD ADDRESS 

GET ADDRESS OF ABS SECTION 
SEARCH FOR INSERT 
INSERT SECTION ENTRY IN TABLE 

CLEAR SECTION fXTFNSION LISTHEAD 

CLEAR ABORT FLAG 
SET DEFAULT TRANSFER ADDRESSES 
FOR TASK AND ODT 
CLEAR PROGRAM IDENTIF KATION 

INITIALIZE PATH LIST 



.R1 ; UNABLE TO OPEN 
SE1 DUMMY .•'ARAMftFR 
FATAL -NO RETURN 



WORK nil 
BLOCK ADDRESS 



•••• 



L $ •••• 



jMni MACRO M110I U-OEC-77 09i51 PAOf J-3 



INITL MACRO MIIOB 
SYMBOL TABLE 



U-DEC-77 09:51 PAGE 3-3 



ABSRT « 
B.BBFS" 
B.BFST> 
B.NXBO- 
B.VBN « 
CH.AND> 
CR 

CILRSZ" 
CtSLCH> 
DVAPR- 
EIR75 - 
FA.APO" 
FA.CRE- 
FA.OLK- 
FA.ENB- 
FA.EXC» 
FA.EXT" 
FA.NSP" 
FA. PCS- 
FA. RO ' 
FA.RWD" 
FA.SEQ- 
FA.SHR- 
FA.TMP- 
FA.WCK> 
FA.URT* 
FD.BLK* 
FD.CCL" 
F0.COM- 
FD.CR » 
FD.DIN' 
FO.FtN* 
FO.Fn» 
fD.INS- 
FO.ISP- 
FD.MNT> 
FD.PSP" 
rO.PLC- 
FD.PRN- 

. ABS. 



•♦•♦•* GX 

000010 
000015 
000012 
000004 
000001 
000015 



000100 
000010 
001000 
100000 
002000 



(iX 
GX 
GX 
GX 



100 
010000 
000001 
004000 
040000 
000040 
000020 
020000 
000002 
000010 
000002 
020000 
000002 
000010 
000001 
040000 

004000 



FRRORS DETECTEDi 



000 
001 



FO.PSE« 

FD.RAH« 

FD.RAN* 

FD.REC- 

FD.RWM- 

FD.SOl* 

FD.SQD- 

FO.TTY" 

FO.WBH' 

FF 

fF.CMR" 

FF.NV • 

FF.POE" 

FF.RyD> 

FF.RWF* 

FF.SPC« 

FO.APO« 

FO.MFV" 

FO.RD > 

FO.UPO" 

FO.WRT- 

F.ACTL" 

F.ALOC- 

F.BBFS- 

F.BD6 > 

F.BG6C> 

F .BKDN - 

r.0Ki>s> 

F.BKEF> 

F.BKPU 
F.BKSr> 
F.BKVB- 
F.CHR > 
F.CNTG* 
F.DFNB* 
r.DSPT. 
F.DVNM* 
F.EFBIC 
F.IFN • 



010000 
000001 
000002 
000001 
000001 
000020 

»2 

0O0002 
OOOOU 
000005 
000003 
000002 
000001 
000006 
000004 
000106 
000002 
000001 
000006 
000016 
000076 
000040 
000062 
000070 
000057 
126 
120 

I? 




F.ECBB 

F.ERR 

F.FACC 

F.FFBV 

F.FNAM 

F.FNB 

F.FTYP 

F.FVER 

F.HIBK 

F.LUN 

F.MBCT 

F.MBC1 

F .MBFG 

F.NRBD 

F.NREC 

F.OVBS 

F.RACC 

F.RATT 

F.RCNM- 

F.RCTL 

F.RSIZ 

F.RTYP 

F.SEQN 

F.SPOV 

F.SPUN 

F.STBK 

F.UNIT 

F.URBD 

F.VBN 

F.VBSZ 

HT 

LF 

MPtSY 

Ffl.DEV 

NB.DIR 

NB.NAM 

NB.SD1 

NB.SD2 

NB.SNM 



VIRTUAl MEMORY USfDi ?454 WORDS ( 10 PACES) 
DYNAMIC MEMORY 1 15744 WORDS ( 60 PAGfS) 
CLAPSEQ riMEi 00 i 00 i 20 
t!l.?0]INlTL.C31.50JlNlfl/-SP-tS1.10JMACFLM.fCSPR,lNirL 



000032 


NB.STP- 


88804! 


NB.SVR' 


NB.TYP. 


888?) ( 


NB.VER> 


N.DID > 


sE'll 


N.DVNM- 


N.FID « 


N.FNAM> 


000004 


N.FTYP- 


000042 


N.FVER* 


000054 
000055 


N.NEXT- 
N.STAT> 


000056 


N.UNIT' 


El 


RtNMBK- 
RttllM- 


R.FIX ■ 


008801 


R.SEQ > 


R.VAR > 


000034 


SGtOES- 


000017 


SGIL00> 


000002 


SPA • 


&2 


SICCST- 


StCSTS- 


StGWDP- 


088836 


SIV2 • 
SIZSEG- 


888020 


S.BFHD' 


S.FATT. 


» 


S.FDB • 


S.FNAM. 


mi 


S.FNB ' 

S.FN6W" 


*••*•• 


CX S.fNTV* 


s 


S.FTYP. 


S.NFEN- 
VT 


000400 


WtNlGH* 


00004 


lABSCT. 
tALSGD* 



000020 
000010 
000002 
000001 
000024 
000032 
000000 
000006 
000014 
000016 
000022 
000020 
000034 
****** GX 

000000 
000001 
000003 
000002 
****** GX 
****** GX 
000040 
****** GX 
****** GX 
****** GX 

GX 

****** GX 

000020 
000016 
000140 
000006 
000036 
000017 
000004 
000002 
000020 
000011 
****** OK 

GX 

****** GX 



$ALVRT« •***•* GX 
lASCT » ****** GX 
fCLR8G« ****** GX 
SCRSEG* •••••• GX 

$CRVSG« *•♦♦*♦ GX 
IDFSWT- ****** GX 
IDSW > ****** GX 
tERMSG- ****** GX 
lERRCT- ****** GX 
SFINIT- ****** GX 
SFRHD « ****** GX 
IFRSJZ- ****** GX 
IFRSZ1- ****** GX 
IFR$Z2« ****** GX 
IIDENT- ****** GX 
tINIDM« ****** GX 
IINIPT* ****** GX 
SINITL OOOOOORG 
IINIVM* ****** GX 
SISYM » ****** GX 
tLlBNM' ****** GX 
lOOTAD* ****** GX 
tPATH • ****** GX 
IPHYBD' ****** GX 
IPRVAP* ****** GX 
IRSXSY* ****** GX 
IRTSEG* ****** GX 
IRTWOP* ****** GX 

ISCTMO GX 

•SRCHI* ****** GX 
ISTRCB* ••*•*• CX 
ISWTCM* ••*••* CX 
SSYMMD* ••••*• GX 

ISZSEG" GX 

IVRTBD* ****** CX 
IxrRAD* »*•••♦ CX 
H ' 000001 
...CBL* 000000 
...TPC» OOOUO 



•••• 



TT 



••*t 



1 




S tt«« 



NACFLH MACRO Ml 108 U-DEC-77 09:51 PAGE 2 



.IF NOF 


WtUST 


.Tl'LE 


iNivn 


.WF 




.TITLE 


INIVS 


.ENDC 




.IDENT 


m/ 



COPYRIGHT (C) 1976 

DIGITAL EQUIPMENT CORPORATION, MAVNARt. MASS. 

THIS SOFTWARE IS FURNISHED UNO'R A LICENSE FOR USE ONLY ON A 
SINGLE COMMUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE. OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PFRSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOtiLD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR REUABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 04 



WRITTEN BYi 

CLARK A. D'ELIA 

MODIFICATIONS) 

NO. MTC 



2?-JAN-7$ 
M-0CT-7J 

il-0CT-76 




01-JUN-74 



PROGRAMMER 



C. MONIA 

C. MONIA 

C. MONIA 

C. MONIA 



••-||NlVM-*-INir|ALlZE VIRTUAl MEMORY WORK FILF SYSTEM 



THIS ROUTINE INITIAL 1/1!$ THE VIRTUAL MEMORY WORK FILE SUB- 
SYSTEM. TO DO THIS IT »ORffS AIL PAGES TO BE NON-RESIDENT, 
ALLOCATIS tHE flR!f PAGE. OPENS THE WORK FILE. AND MARKS 
IT FOR DELETION WHEN ClOiED. 

INPUTIi 



1NIV« MACRO mi 08 U-DEC-77 09:51 PAGE 2-1 



1 R1>T0P TASK VIRTUAL ADDRESS 

1 SyRKPT CONTAINS ADDRESS OF WORK FILE FDB 

tFRHD CONTAINS ADDRESS OF DVNAMIC MEMORY POOL 



OUTPUTS: 

C-BIT CLEAR 

-OR- 



AND/OR RO'O INDICATES SUCCESS 



C-eiT SET INDICATES FAILURE AND/0^ 

RC>-? INDICATES WORK FILE OPEN FAILURE 

PU>-1 INDICATES WORK FILE MARK FOR DELETE FAILURE 



MACRO LIBRARY CALLS 



WRKNM: 



.MCALL 
FCSSTS 
.MCALL 
FDOFFS 
.MCALL 

.IF 

.MCALL 
NMBLKt 
.ENDC 



FCS6TI 

DEFSL 

FDOFFt 

DEFSL 

OFNBt 



DF 

NMBLKt 
WRKFIL.TMP 



TtSMP 



tINIVM:: 



SAVRf- 
IF DF WitKSr 



.RIPT 

CLR 

.ENDR 

.ENPC 




)1 OOOOOOG 
MG 



00000? OOOOOOC 



R1.ITPADR 
fSWRKAC.RO 

6 

(R0)4 



«1,tHGVAD 

fPAGHD 

tPAGLS 

ITIME 

fiFRHD.RO 

(RQ)*.R1 

(NO) 



.•♦tOS5 SAVE THE NON-VOLATILE REGISTERS 



; SET TOP ADDRFSS IN TASK 

; an ADDRESS OF WORK FILE ACCESS COUNTS 



; CLEAR ACCESS COUNTS 



;»»055 SET NEXT VIRTUAL ADDRESS TO 1 
;S!T NO RESIDENT PAGES 
;t«035 CLEAR POINTER TO RESIDENT PAGE LIST 
t RESET PAGE TIME 

; GET ADDRESS OF FREF POOL I ISTHEAD 
] 6i1 ADDRESS OF CORE POOL 
SECOND WORD Of LIST MUST BF ZERO 



(NU> 1 SECOND WORD Of LIST nU5T BF IIW 

?(R1).«<NtMPAG*PiGSII> ; ENOUGH ROOM FOR FAST PAGF SEARCH 



•••« c 6 ***• 



INIV* MACRO mi08 1A-0EC-77 09:51 PAGE ?-2 



15 000M4 

16 0005a6 
000052 
000056 
000062 
000062 
000C66 
000072 
000076 
000102 
000104 
0001C6 
000106 
000112 
000116 



31 
32 
35 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 

ts 

50 
51 

I? 

54 
55 



000' 22 
000154 
000136 
000140 
000144 



0(K)U6 
0(10150 
00015? 



103406 

012701 001000 

010067 OOOOOOG 

012701 OOOOOOG 

010067 OOOOOOG 

016701 OOOOOOG 
001401 
010011 

016700 OOOOOOG 

005060 000040 

012746 177776 



5S: 



7%: 



105405 
005? 16 

105401 



00S?16 
0'2^00 



000001 



101: 



BLO 

SV 
LL 
MOV 

MOV 

CALL 

NOV 

MOV 

BEQ 

MOV 

MOV 

MOV 

.ir 

NOV 

AOP 

CLN 

MOV 

CALL 

BCS 

INC 

OFNBt 

BCS 

.IM 

OFNBI 

?&! 

CALL 
BCS 

.ENDC 

INC 

MOV 
RETURN 



.END 



5S 

ir512.,R1 

SALBL*". 

RO.SPAGLS 

«PSGSIZ,R1 

SALBLK 

RO.tPAGHD 

SPAGLS.RI 

7$ 

R0,(R1) 

lyRKPT.RO 
F.ALOC(RO) 
l»-2.- (3F) 



DF 



TtSMP 



R0.R1 

KfF.FNB.RI 

R2 

#yRKNM,R3 

.PARSE 

101 

(SP) 

R0.«<FO.yRT> 

10» 



!F LO NO 

SET SIZE OF RESIDENT PAGE LIST 
ALIOCATE RESIDENT PAGE LIST 
♦♦035 SAVE ADDRESS OF LIST 

PUT PAGE SJ;E in R1 

ALLOCATE FIRST PAGE 

LINK IT TO RESIDENT PAGE LIST HEAD 

♦♦035 GET ADDRESS OF RESIDENT PAGE LIST 

♦♦035 IF EQ NONE 

♦♦035 SET THIS PAGE RESIDENT 

POINT RO TO WORK FILE FDB 

FILE IS INITIALLY NON- CONTIGUOUS 

ASSUME FILE OPEN FAILURE (STS—2) 



;^^035 copy FDB ADDRESS 

{♦♦035 POINT TO FILENAME BLOCK 

{♦♦035 NO DATASET DESCRIPTOR 

;^^035 SET ADDRESS OF DEFAULT FILENAME BLOCK 

[♦♦035 ENTER TEMP. FILE NAME IN DIRECTORY 

[♦♦035 IF C/S PARSE FAILED 

;^^035 SPECIFY SUCCESfUL PARSE 

;^^035 OPEN FILE FOR WRITE 

[♦♦035 IF C/S OPEN FAILURE 



RO,(»<FA.TMP!FO.WRT> ;CREATE TEMPORARY WORK FILE 

101 ; BRANCH IF ERROR 

(SP) .-ASSUME NARK FOR DELETE FAILURE (STS—P 

.MRKDL ;MARK FIlE FOR DELETE AFTER CLOSE 

10» ; BRANCH IF ERROR 



(SP) ;SPECIFy SUCCESSFUL INIT (STS«0) 

(SP)^,RO ;PUT STATUS IN RO 

.'RETURN WITH C-BIT SFT M ERROR 



•••• 4 •••• 



r — 

I k &^ « fc ^A AAA 



.«« AA.AB MM.MM %.tt 



INIVM MACRO mi08 
SYmOL TABLE 



U-DEC-77 09:51 PAGE 2-3 



CH.ANO' 

CR 

FA.APO> 

FA.CRE« 

FA.DtK> 

FA.ENB- 

FA.EXC- 

FA.EXT- 

FA.NSP> 

FA.POS« 

FA.RO « 

FA.RUD- 

FA.SEQ> 

FA.SHR- 

FA.TI<P« 

FA.WCK> 

FA.yRT> 

FO.BLK- 

FO.CCL" 

FD.COn- 

FD.CR > 

FO.DIR- 

FO.FTN- 

FO.FIU 

FD.INS- 

FO.ISP- 

FD.MNT- 

FD.OSP> 

FO.PLC- 

KD.PRN- 

FD.PSE- 



000100 

m 

100000 
002000 
OOOOOA 
000100 
010000 
000001 
OOAOOO 
04000C 

wSStx 

00002 
02C 



000002 

000010 
000001 
040000 

002000 
100000 
004000 
000004 
000004 
010000 




. ABS. 000000 
000154 
ERRORS DETECTED: 



000 
001 



FD.RAH> 

FD.RAN' 

FD.REC> 

FD.RUHs 

FD.SDI« 

FD.SQD> 

FO.TTY« 

FD.yBH* 

FF 

FF.CHR" 

FF.NV » 

FF.POE« 

FF.RWO' 

FF.RWF* 

FF.5PC« 

FO.APD« 

FO.IWY* 

FO.RD > 

FO.UPD- 

FO.yRT- 

F.ACTL» 

F.ALOC- 

F.BBFS> 

F.BOe • 

F.BGBC- 

F.BKDN- 

F .BKDS* 

F.BKEF- 

F.BKPI* 

F.BKST> 



m 

000001 
000001 
000020 
000040 
000004 
000002 
000014 
000005 
000003 
000002 
000001 
000006 
000004 
000106 
000002 
000001 
000006 
000016 
000076 
000040 
000062 
000070 
000057 
000026 
000020 
000050 
000051 
000024 



F.BKVB> 
F.CHR « 
F.CNT6« 
F.DFNB> 
F.DSPT« 

F.EFBK> 
F.EFN « 
F.E08B* 
F.ERR > 
F.FACC* 
F.FFBY> 
F.FNAM* 
F.FNB > 
F.F TYP« 
F.FVER- 
F.HIBK- 
F.LUN > 
F.MBCT- 
F.MBCI- 
F.MBFG> 
F.NRBD- 
F.NREC- 
F.OVBS- 
F.RACC- 
F.RATT- 
F.RCWM 
F.RCTL* 
F.RSi;> 
F.RTYP- 



000064 
mOTS 
000034 

000134 
000010 
000050 
000032 
000052 
000043 
000014 
000110 
000102 
000116 
000120 
000004 
000042 
000054 
000055 
000056 
00002A 
000030 
000030 
000016 
000001 
000034 
000017 
000002 
000000 



F.SEQN 

F.SPOV 

F.SPilN 

F.STBK 

F.UNIT 

F.URBD 

F.VBN 

F.VBSZ 

HT 

LF 

NB.DEV 

NB.DIR 

NB.NAM 

:«.soi 

NB.SD2 

NB.SNM 

NB.STP 

NB.SVR 

NB.TYP 

NB.VER 

NMPAC 

N.DID 

N.DVNM 

N.FID 

N.FNAM 

N.fTYP 

N.FVER 

N.NEXT 

N.STAT 

N.UNIT 



0001 no 
0000 

)0?4 

)036 
000136 
000020 
000064 
000060 
000011 
000012 
000200 
000100 
000004 
000400 
001000 
000040 
000020 
000010 
000002 
000001 
•*•••• GX 
000024 
000032 
000000 
000006 
000014 
000016 ' 
000022 
000020 
000034 



PARSS$> 

P»6SIZ» 

RS$iin> 

R.FIX « 
R.SEQ - 
R.VAR « 
SPA ' 
S.FATTn 
S.FD6 * 
S.FNAM* 
S.FNB « 
S.FNBW- 
S.FNTV« 
S.FTYP« 
S.NFENs 
VT 

SALBLK' 
SFRHD > 
IHGVAD> 

tiNivn 

tPAGHD« 

tPAGLS- 

tSAVRG- 

STIME > 

tyRKPT> 

It 

.MRKDL* 

.OPFNB« 

...GBL« 

...TPC« 



000000 
****** GX 

000000 

000001 

000003 

000002 

000040 

000016 

000140 

000006 

000036 

000017 

000004 

000002 

000020 

000013 

****** GX 

****** 6X 

****** GX 

OOOOOORG 

****** GX 

****** GX 

****** 

****** 

****** 

000001 
****** 
****** 
000000 
000140 



GX 
GX 
GX 

GX 
G 



VIRTUAL MEMORY USED: 2162 WORDS ( 9 PAGES) 
DYNAMJC MEMORY: 15744 WORDS ( 60 PAGES) 



hriSS-ilR 



y:i 



: 00:00:17 
,C31,J05lNIVM/-SP»C31,10]MACFLM.JNlVH 



•••• I i •••• 




•••• f 4 ftttt 



MACrin MACHO MIIOI U-D(C-77 09t)? PhQt I 



HACfLM MACRO Ml 108 U-OEC-77 09:52 PAGE 3 



.IF NDF WfSKST 

.TITLE INIVM 

.IFF 

.TITLE INIVS 

.ENDC 

. I DENT /05/ 



COPYRIGHT (C) 1976 

DIGITAL EQUIPMENT CORPORATION. MAVNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF. MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PFRSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 04 

WRITTEN BY) 

CLARK A. D'ELIA 

MODIFICATIONS: 

NO. DATE 



01-JUN-7* 




W-JAN-7} 
?l-OCT-75 
Jp-JUN-76 
M-OCT-76 



PROGRAMMER 



C. MONIA 

C. MONIA 

C. MONIA 

C. MONIA 



••-IINIVM-»-INITIAL17r VIRTUAL MEMORY WORK FILE SYSTEM 

THIS ROUTINE INITIAL l/FS THE VIRTUAL MEMORY WORK Fjlf SUB- 
SYSTEM, ro DO THIS ir FORCES ALL PAGES TO BE NON-RtSIDENf . 
ALLOCATES THE FIRST PAGE, OPENS THE WORK FILE. AND MARKS 
IT FOR DELttlON WHEN CLOSED. 

; INPUTS! 



•••* t 6 **•* 



INIVS MACRO Mil 01 U-0Et-T7 09i5? PACE 5-1 



1 



INIVS MACRO mi08 U-OEC-77 09:52 PAGE 5-1 



n 

77 

78 000000 
79 

80 000000 
1 



RUTOP TASK VIRTUAL ADDRESS 

IWRKPT CONTAINS ADDRESS OF yORK FILE FDB 

SFRHD CONTAINS ADDRESS OF DYNAMIC MEMORV POOL 



OUTPUTS: 

C-eiT CLEAR 

-OR- 



AND/OR R0>0 INDICATES SUCCESS 



C-eiT SET INDICATES FAILURE AND/OR 

M—2 INDICATES WORK FILE OPEN FAILURE 

R0«-1 INDICATES WORK FILE NARK FOR DELETE FAILURE 



MACRO LIBRARY CALLS 



.MCALL FCS8TI 

FCSBTt DEFtL 

.MCALL FDOFFt 

FDOFFS DEFSL 

.MCALL OFNBI 



WRKNM: 



.IF DF 

.MCALL NMBLKI 

NMBLKS WRKFIL.TMP 
.ENDC 



TItMP 



000000 
94 000000 



lINIVMi! 



B 



000004 010167 ooooooc 
000010 0}2700 OOOOOOG 

000006 




OOOOOOC 



SAVRO 

.IF DF WtlKST 



00000? OOOOOOC 



NOV 
MOV 

.RIPT 

CLR 

.ENDR 

.INDC 

MOV 
CLR 
CLR 
CLR 
MOV 
MOV 



R1.ITPADR 
ftWRKAC.RO 

6 

(RO)* 



«1,IH0VAD 

pACMD 

pAGLS 

fIFRHD.RO 
(R0)«.R1 

S(R1). 



{MOSS SAVE THE NON-VOLAT'LE RE01:> f^S 



; SET TOP ADDRESS IN TASK 

; GET ADDRESS OF WORK FILE ACCESS COUNTS 



; CUAR ACCESS COUNTS 



♦♦0!S SET NEXT VIRTUAl ADDRESS TO 1 
SET NO RESIDtNf PAGFS 
»»0S) CLEAR POINTER TO RESIDENT PAG( LIST 
RESET PAGE TIME 

GET ADDRESS OF FRtr POOl LISTHEAD 
GET ADDRESS Of fORt POQL 
, SECOND WORP Of LIST MUSI BE /tf^O 
«<NtMPAG*PiGSi;> ; tNUUGM ROOM fOR fAST PAGE SEARCH 



•••• N i •••• 



INIVS MACRO M1108 U-DPC-77 09: W PACE J-? 



INIVS MACRO mi08 U-OEC-77 09:52 PAGE 3-2 




. 10J 
000106 

112 

111 m 

'25 000150 

126 000152 

2? 000152 

28 000156 

29 000U2 
50 



15 
16 
17 



St 



45 QQ0U6 

46 000160 

47 000162 

48 500164 

49 000170 



)172 
174 
176 



105406 
012701 

010067 

012701 

010067 
016701 
001401 
010011 

016700 
005060 
012746 



001000 

OOOOOOG 

OOOOOOG 

OOOOOOG 
OOOOOOG 



5S: 



0000006 

000040 

177776 



?%i 



103405 
005216 

105401 



005216 
012600 



000001 



101: 



BLO 
NOV 
CALL 
MOV 

NOV 

CALL 

NOV 

NOV 

BEQ 

NOV 

NOV 
CLR 
NOV 

.IF 

NOV 

ADD 

CLR 

NOV 

CALL 

BCS 

INC 

OFNBS 

BCS 

.IFF 

OFNBt 

BCS 

INC 

CALL 

BCS 

.ENDC 

INC 

NOV 
RETURN 



.END 



5S 

#512. .R1 

SALBLK 

RO.tPAGLS 

«P$GSIZ,R1 

tALBLK 

RO.tPAGHD 

tPAGLS.RI 

7» 

R0,(R1) 

SWRKPT.RO 

F.ALOC(RO) 

#-2.-(SP) 



DF 



TStNP 



R0.R1 

«F.FNB.R1 

R2 

#WRKNN,R3 

.PARSE 

101 

(SP) 

R0.«<FO.yRT> 

loi 



IF LO NO 

SET SIZE OF RESIDENT PAGE LIST 
ALtOCATE RESIDENT PAGE LIST 
♦♦035 SAVE ADDRESS OF LIST 

PUT PAGE SIZE IN R1 

ALLOCATE FIRST PAGE 

LINK IT TO RESIDENT PAGE LIST HEAD 

♦♦035 GET ADDRESS OF RESIDENT PAGE LIST 

♦♦035 IF EQ NONE 

♦♦035 SET THIS PAGE RESIDENT 

POINT RO TO yORK FILE FDB 

FILF IS INITIALLY NON-CONTIGUOUS 

ASSUNE FILE OPEN FAILURE (STS>-2) 



.'♦♦055 COPY FDB ADDRESS 

,•♦♦035 POINT TO FILENAME BLOCK 

;^^055 NO DATASET DESCRIPTOR 

;^^035 SET ADDRESS OF DEFAULT FILENAME BLOCK 

;^^035 ENTER TEMP. FILE NAME IN DIRECTORY 

.•♦♦035 IF C/S PARSE FAILED 

.•♦♦035 SPECIFY SUCCESFUL PARSE 

,♦♦035 OPEN FILE FOR WRITE 

.♦♦035 IF C/S OPEN FAILURE 



RO.«<FA.TNP!FO.URT> .-CREATE TENPORARY WORK FILE 

101 .-BRANCH IF ERROR 

(SP) ; ASSUNE MARK FOR DELETE FAILURE <STS«-1) 

.MRKDL .'MARK FkE FOR DELETE AFTER CLOSE 

101 ; BRANCH IF ERROR 



(SP) .'SPECIFY SUCCESSFUL INIT (STS«0) 

(SP)^,RO ;PUT STATUS IN RO 

jREtURN WITH C-BIT SET IF ERROR 



•••• I 6 ••*• 



]NM .?^.CROM1108 14-DfC-77 09:5? PACE 5- J 




INIVS MACRO mi 08 
SYMBOL TABLE 



CH.ANDe 

CR 

FA.APD' 

FA.CRE> 

FA.DLK- 

FA.ENB> 

FA.EXC" 

FA.EXT- 

FA.NSP« 

FA.POS- 

FA.M) > 

FA.IMD- 

FA.SEO- 

FA.SHN- 

FA.TMP- 

FA.yCK- 

FA.MT- 

FD.BLK" 

FO.CCL" 

FO.CQM- 

FD.CR ■ 

FO.DIR- 

FO.FTN- 

F0.F11- 

FD.INS- 

FO.ISP« 

FO.MNT- 

FD.OSP- 

rO.PLC- 

FO.PWi- 

FO.PSC* 



. ABS. 000000 000 

000200 001 
ERRORS DETECTED: 



U-DEC-77 09:52 PAGE 3-3 



P00100 
010000 
000001 
004000 
040000 
OOOOAO 
000020 
020000 
000002 
000010 
000002 
020000 
000002 
000010 
000001 
040000 
- "10 




FD.RAH* 
FD.RAN' 
FD.REC' 
FD.Ryn* 
FD.SDI' 
FD.SQD' 
FO.TTY" 
FD.yBH* 
FF « 
FF.CHR> 
FF.NV « 
FF. P0E« 
FF.Ry0< 
FF.RWF« 
FF.SPC* 
F0.AP0> 

fo.mu 

FO.RD > 
FO.UPO- 
FO.yRT- 
F.ACTL- 
F.ALOC- 
F.BBFS- 
F.BOB > 
F.BGBC> 
F.BKDN- 
F.BKDS- 
F.BKEF- 
F.BKPI- 
F.BKST- 
F.BKVB- 



1 



000004 
000002 
000014 
000005 
000003 
000002 
000001 
000006 
000004 
000106 
000002 
000001 
000006 
000016 
000076 
000040 
000062 
00c^70 
000057 
000026 



n 



000051 
000024 
000064 



F.CHR 

F.CNT6 

F.DFNB 

F.DSPT 

F.DVNMi 

F.EFBK 

F.EFN 

F.E06B 

F.ERR 

F.FACC 

F.FFBV 

F.FNAM> 

F.FNB 

F.FTYP 

F.FVER 

F.HIBK 

F.LUN 

F.MBCT 

F.MBC1 

F.MBFG 

F.NRBD 

F.NREC 

F.OVBS 

F.RACC 

F.RATT 

F.RCrfU 

F.RCTL 

F.RSi; 

F.RTYP 

F.SECM 

F.SPDV 



000075 
000034 
000046 
000044 
000134 
000010 
000050 
000032 
000052 
000043 
000014 
000110 
000102 
000116 
000120 
000004 
000042 
000054 
000055 
000056 
000024 
000030 
000030 
000016 
000001 
000054 
000017 
000002 

000072 



VIRTUAL MEMORY USEOi 2172 WORDS ( 9 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( (SO PAGES) 
IIAPSW TIME! 00:00:18 
CSl.20]INIVS.C31.S03lNlVS/-SP«[51J01MACfLM.WR»(8T.INIVM 



F.SPUN 

F.STBK 

F.UNIT 

F .URBD 

F.VBN 

F.VBSZ 

HT 

LF 

NB.DEV 

NB.DIR 

PR* •flrtW 

NB.SD1 

NB.SD2 

NB.SNM 

NB.STP 

NB.SVR 

NB.TYP 

NB.VER 

NtMPAG 

N.DID 

N.DVNM 

N.FID 

N.FNAM 

N.FTYP 

N.FVER 

N.NEXT 

N.STAT 

N.UNIT 

PARtll 

ptGsi; 

RSI11M 



000074 
000036 
000136 
000020 
000064 
000060 

000012 

000200 

000100 

000004 

000400 

001000 

000040 

000020 

000010 

000002 

000001 

*••••• 6X 

000024 

000032 

000000 

000006 

000014 

000016 

000022 

000020 

000034 

000000 

**••»* GX 

000000 



R.FIX 

R.SEQ 

R.VAR 

SPA 

S.FATT 

S.FDB 

S.FNAM- 

S.FNB 

S.FNBW< 

S.FNTY 

S.FTYP 

S.NFEN 

VT 

WtlKST 

lALBLK 

SFRHD 

SHGVAD 

tINIVM 

tPAGND 

tPAGLS 

tSAVRG 

STIME 

STPADR 

tWRKAC 

IWRKPT 

tt 

.MRKDL 

.OPFNB 

...GBL< 

...TPC« 



000001 
000003 
000002 
000040 
000016 
000140 
000006 
000036 
000017 
000004 
000002 
000020 
000013 
000000 
• *•** 



***** 



***** 



GX 
GX 
GX 

OOOOOORG 
GX 
GX 
GX 
GX 
GX 
GX 
GX 



***** 
***** 
***** 

000001 
***** 
***** 

000000 
000 uo 



GX 
G 



MMJ A «*t* 




•••• K ( ttt* 



IQOAt HAtW unOS U-PfC-T? 0«i5? MW J 



lOOAT HACRO mi 08 U-DEC-77 09:52 PAGE 3 



.TITLE lOOAT 
. I DENT llhl 



COPYRIGHT 1975. DIGITAL EQUIPMENT CORP.. 
COPYRIGHT 1976. DIGITAL EQUIPMENT CORP.. 
COPYRIGHT (C) 1977 



.•♦•-1 



MAYNARD. 
MAYNARD. 



MASS. 
MASS. 



THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INTORMATIOFC IN THIS DOCUMENT (S SUBJECT TO CHANGE WilHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 



DEC ASSUMES NO RESPONSIBILITY FOR 
OF ITS SOFTWARE ON EQUIPMENT WHICH 

VERSION: 26 

D.N. CUTLER/C. MONIA 27-DEC-7S 



THE USE OR RELIABILITY 
IS NOT SUPPLIED BY DEC. 



.•••-1 



MODIFICATIONS 

NO. DATE 



IIIS006 

< J/'klOO 
\ JAKt06 

I 



16-AU6-73 
07-JAN-7* 
10-JAN-75 
20-JAS-/6 
0*-FEd-7' 
l7-MAR-r6 
27-MAR-76 
07-APR-76 
21-MAY-76 
2a-JUN-76 

12-MAY-77 



29-JAN-7 
PS-MAY-;*? 



PROGRAMMER 



C. MONIA 
C. MONIA 
C. M<1NIA 
C. WINIA 
C. Ml»iIA 
C. MONIA 
C. MONIA 
C. MONIA 
C. MONIA 
C. MONIA 

B. SCHREIBER 

CORRECT GCML CONTROL BLOCK 

ADD MULTIUSER SWITCH /MU 

CHANGES rOR DFMUlf SYSTEM DEVICE LB: 



.'••NEW** 



MONITOR nEPFNDFNT I/O DATA BASI 
I 
i EQUATED SYMBOLS 



FtDEVl»6. 



;MAX IFNGTM OF DFVUr NAM! 



•••• L 4 ••«* 



lOOAT MACRO MIIOB 1A-DIC-77 09i)2 PAOE S-t 



lOOAT MACRO M1108 U-DEC-77 09:52 PAGE 3-1 



m 

000006 
000010 



F$01RL«11. 
FIF1LL=«17. 
LM0D«6. 
^W0D>8. 



; MAX LENGTH OF DIRECTORY NAME 
:MAX LENGTH OF FILENAME 
; MAX LENGTH OF LIBRARY MODULE NAME 
; MAX NUMBER OF NAMES PER SPEC. 



MACRO LIBRARY CALLS 



.MCALL CSISND.CSItSV.CSltSW 

.MCALL FDATSA.FDBDFt.FDOPtA.FDRCU.FSRSZI 

.MCALL GCMLBS.NMBLKI 



LOCAL MACROS 



GENERATE CONTROL BLOCK 



GENBLK 
WHIREt 



A.B.C.DD.E.F.G.H.l.J 



ll-O 
tl«. 

IIO-O 

111*. 
III-. 

II5>. 
IIO<. 



A-THREE CHARACTER BLOCK NAME 

B'RECORD TYPE 

C'RECQRD ATTRIBUTES 

DD-RECORD SIZE 

EoRECORD ACCESS 

F-RECORD BUFFER SIZE 

G-LOGICAL UNIT 

H'DATASET POINTER SWITCH 

I 'ADDRESS OF DEFAULT NAME BLOCK 

J>NUMBER OF FCS BLOCK BUFFERS 



.MACRO GENBLK A.B.C.DD.E.F .G.H.I.J 

.PSECT A'ID.D.GBL 

.IF Ni F 

.BLKB F 

.EVEN 

.ENDC 



.IF 



NB 



.•LKI FtPEVL 
.EVEN 

.BLKB FtDIRL 
.EVEN 



.BIKW 1 



IQDAt fMCIK) N110I U-MC-77 09itl PAM S-2 



lOOM MACRO mi08 U-DEC-77 09:5? PA6t 3-2 



115 
116 
117 
118 
119 
120 
121 
122 

12A 
125 

m 

127 
128 

!!; 

131 
132 
133 
13* 

;s 

137 
138 
139 
UO 

U1 

U3 

U5 
U6 
U7 
U8 
U9 
150 
151 





.WORD 


tsi 




.BLKW 


1 




.WORD 


112 




.BLKW 


1 




.WORD 


tS3 




.ENDC 






.PSECT 


FILNSD.D.GBL 


I'A'W: 


:.WORD 







PSECT 


A'PID.D.GBL 


I'A'PT: 


:.WORD 


A'PT 




.PSECT 


A'ID.D.GBL 


A'PT: 


FDBDFt 






FDATIA 


B.C.DD 
E.li.F 

G,Sl6.I 




FDRCtA 




FDOPIA 


RSNAI«>«.-'A'PT 






.WORD 


A'PT^F.FNB^N.FN 


RISWTM".-*A'PT 






.BLKW 


1 


RSSUBK- 


•.-•A'PT 






.BLKW 


1 


R»N«K««.-'A'PT 






.WORD 


I'A'NM 


RMLKB- 


•.-•A'PT 






.WORD 







.IF 


NB J 




.PSECT 


A'lE.D.GBL 


ltf>. 








.PSECT 


A'ID.D.GBL 


.■.-2 








.WORD 


.♦2 


lit-. 








.WORD 


tSE-tia-? 




BLKB 


J«<512.»S.BFMD> 




.ENDC 






.ENDM 





RISWTM BIT DEFINITIONS 




TASK m> STB FILE SWITCHES 
*•* NOTE ••• 



DEBUGGING AID SWITCH. 'SWIDA'. ALSO APPLIES TO INPUT FILE 
SWITCHES 



$WICP»» 100000 

sw|Fp..6466r" 

SWlDA"0020i 
SW|P|"0010i 



SWlPR'^'OOO^C 
SWITR**000/O0 



TASK CHECKPOINTABLE (0*YES) 
TASK U5FS riOATINO POINT (1»VE8) 
TASK DtBUOGING AID SPECIMEO (1-YtS) 
Pit OUTPUT (1«V{S) (ALSO APPi lES TO STB FUt). 
TASK IS MRlVFLtGED (brfS) 
; SET TRACr BIT IN PS (ItfES) 



*••• N 4 •••• 



lOOAT MACRO M1108 U-OEC-77 09:52 PAGE 3-5 




.IP NOf 

SWtFX««00«000 
SW$AR>>000020 
SWtDS>«000010 

.irr 

SUtCN«>«000 

SWtEA»Q?0000 

SWINH-010000 

SWiPNoOOOIOQ 

SWlSL»O00OA0 

SWINS< 

SWMUmi 

SWIAC» 

SWtALO* 

$WlNT>aOl 

.ENOC 
; INPUT FILE SWITCHES 



RSfllM 




TASK IS FIXABLE (0'YE:>) 
TASK ABOPTABLE (O'YES) 
TASK DISABLABLE (0«YbS) 



task built in cqmpatibilitv mode (1-ves) 
task uses eae (1>ves) 
build task image without header (1-ves) 
t*om post-mortem dump (1>ves) 
Task is slave/«le (1>ves) 
no sends to tajk are permitted (1«ves) 
task is multi-user (1-ves) 
task is ancillary control processor (l-yes) 
task image contains checkpoint space (0-ves) 
task uses new network protocol (i" yes) 



W! 



10 

1 




16 000000 

1? 



h 000000 100002 



H 000002 OOCOOOC 




SWMA»1( 

SW|DL"04C 

SMLB--Q20 

SwiMP»O10 

SWfOAoO 

$wiAL«>00004( 

lMsi*>000002 

; LOCAL DATA 

t 

; DEFAULT FILE SWITCH SETTINGS 
; ADJACENCY ASSUMED 

I 
* 

.PSECT 

.It NDF RII11M 
IDFTSKii.WORD SWtCPISWtFP 

.IFF 
IDFTSKii.WORD $WlALO!SWICP 

.ENDC 
IDFMAPm.WORO LGISHIWIIDI 



INCLUDE OBJECT FILE IN MAP (1-NO) 

FILE IS DEFAULT SYSTEM LIBRARY (1>YES> 

LIBRARY FILE (1>YFS) 

OVERLAY MAP FILE (1>YES) 

OBJECT MODULE IS DEBUGGING AID (l-YES) 

CONCATENATED FILE (UyES) 

AUTOLOAD ELEMENT (1>YES) 
; RESIDENT LIBRARY ELEMENT (1-YES) 
j»*001 SELECTIVE SYMBOL SEARCH (1-YiS) 



j DEFAULT TASK SWITCHES 



; DEFAUI.T TASK SWITCHES 



i DEFAUll MAP FILE SWITCHES 



•««• I f tot 



lOOAT MACRO WIIOS U-OEC-77 09:52 PAGE 3-4 



OQOOOA 
000006 
000010 
000012 



000000 
000100 
120000 
000000 



tDFSTB: 
SDFINP: 
IDF LBS: 
SDFSWT: 



.WORD 

.WORD SWSCC 

.WORD SWSLBiSWtMA 

.WORD 



; DEFAULT STB FILE SWITCHES 

; DEFAULT INPUT FILE SWITCHES 

; DEFAULT SYSTEM LIBRARY FILE SWITCHES 

; DEFAULT TASK BUILD SWITCHES 



238 OOOOU 

239 

2A0 

2A1 

242 

243 

244 000016 

245 

246 000016 

247 

248 

249 

li? 

252 000000 
253 

254 000000 

256 000000 
257 

258 000000 

259 0000^ 
260 

261 000016 



264 
265 

266 
267 
268 
269 

h 

75 001174 

76 00221 4 
7? QQ1U4 

000352 



i 



000000' 



000000 

000000 000000' 



: SYSTEM LIBRARY FILE SWITCH WORD 

t 

tLBSWT::.BLKW 1 | 

; ALLOCATE FCS RESIDENT IMPURE AREA 

.PSECT 
FSRSZS 

* 

) 'GET COMMAND LINE' INPUT CONTROL BLOCK 
I 

.PSECT CMlPtD.D.GBL 

tCMlPT::.WORD CMIPT 

.PSECT CMIID.D.GBL 

CMIPT: ; REF. LABEL 

GCMLBI 3.TKB.SLNBUF 

.PSECT 

; 

; I/O DATA BASES (SEQUENCE MUST BE AS SHOWN) 

• 
« 

df m '^tsiiM 

GENBLK CMO,R.VAR,FD.CR,80.. .? 

.FNDC 

GENBLK IN1.R.FJX..51?..FD.PIC,,M,.1 

OENBLK TSK,R.Fix..512..FD.RWM!rD.RAN,.7...1 

GENBLK MAP.R.VAR,,100....4,..2 

GFNBLK STP.R.V»\R,J28..,,6,..1 

GENBLK INF.R.VAR.,.fD.PlC.i28..S 

6ENBU CRF.R.FIX 4 

; ODL FILE COMMAND INPUT CONTRDI BLOCK 

.PSICr ODLPID.D.OBI 
IdDLPTit.WORD ODLPT 



I 



ttt* C f •••• 



lOOAT »W(RO mi08 U-DEC-7? 09:52 PAGE 3-5 



286 

287 000000 



291 000000 

292 000326' 

295 000166' 
294 000166 

295 ooour 

296 000U1 003 

297 000326' 



306 000000 

307 

308 000000 000000 

309 

110 000000 



316 000000 
517 000000 
318 000036 
] 19 000074 
:20 000132 



000170 



.PSECT ODLSD.D.GBL 
.ENABL LSB 
CDLPT: 6CMLBS 3,TKM,SL^BUF.5....0DLNB 

vss>. 

.^^ODL^e 

NMBLKS ,ODL,,SY 
.«0DLPT»6.M0DE 

.BYTE GE.COMiGE.lND 
.>ISS 

.DSABL LSB 



LIBRARY NAME BLOCK POINTER 

.PSECT LIBNtD.D.GBL 
SLIBNn::.WORD | 

.PSECT INIDSD.D.GBL 

DEFAULT NAME BLOCKS (ADJACENCY ASSUMED) 



.■BLS006 
;**-1 



tDFNB: 



; REF LABEL 



000226 



NMBLKt ,TSK.,SY 

NMBLKt ,nAP,.SY 

NMBLKt .STB..SY 

NMBLKI ,OBJ..SY 

.•♦♦036 

.•♦♦036 (ASK BUILDER TEMPORARY MAP OUTPUT NAMESLOCK 

.•♦♦056 

IMA>'TM::NMBLKI TKBTMP,MAP,.SV 



I 

: DEFAULT LIBRARY NAME BLOCK 

« 

lLlBNB::NMBLKt .OLB,.SY 



00026A 



; SYSTEM LIBRARY FILE 
t 

IDFLlB!tNMM.Kl SYSLlB.OLB..Li 

I 



;JAK106 

;»«-1 



• ••• 



FT 



•t*« 



laAT MACRO mi08 U-DEC-77 09:52 PAGE 3-6 



; DATA SET DESCRIPTORS AND STRING POINTERS 
;tf036 SVSTEK tIBRARY DIRECTORY STRING 



3A8 000322 
00U325 061 
3A9 000327 
50 



356 000330 

357 000330 
356 000332 

359 000334 

360 000336 

361 000340 

362 000342 



368 000344 
:&9 000346 
^70 



^5? 

135 



061 




000000 

000000 

000005 

000322' 

000000 

000000 



123 



000346 000002 
S78 000350 000344* 
179 



131 



054 DSLIB: .ASCII /CIJ]/ 
DSLBE : 



; DIRECTORY 
; REF LABEL 



.EVEN 
♦♦036 SYSTEM LIBRARY STRING DESCRIPTOR 



SDSPLB:: 



.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 







DSLBE-DSLIB 

DSLIB 







REF LABEL 
DEFAULT DEVICE 

DIRECTORY STRING 

DEFAULT FILE I/O 



.'♦♦036 
••♦♦036 
.'♦♦036 

MAPDV: 
MAPE: 



.•♦♦036 
.•♦♦036 
.♦♦036 



TASK BUILDER TEMPORARY MAP OUTPUT STRING 



.ASCII /SY/ 



.EVEN 



.•♦♦036 DEVICE 
.•♦♦036 



TASK BUILDER NAP OUTPUT STRING DESCRIPTOR 



MAPTDit.WORD MAPE-MAPDV 
.WORD MAPDV 



INPUT FILE SWITCHES 



.•♦♦036 DEVICE DESCRIPTOR 



ilNPSW: 



CSIISW 
CSIISW 
CSIISW 
CSIISW 
CSIISW 
CSIISW 
CSIISW 
CSIIND 



: REF LABEL 
CC .SWICC . INIPT^RisWTH.SE T .NEG 
DA.SWfDA.INIPT^RISWTH.SET.NEG 
LB.SWlLB.lNIPT^RISWTH.SFT.NFG.LBSV 
MP.SWIMP. INIPT^RISWTM.Sf t .NEG 
SS. SWISS. INIPT^RISWTH, SET. NEG 



MA.SWim.INIPT^RISWTM.CLEAR.NfG 
DL.SWlDLiSWlLB.INIPr^RISWTH.SEr, 



NEG 



198 000444 



MAP FILE SWITCHES 
MAPSWi : 



; REF LABEL 



•••t ( 7 •••• 



MArBn Mtirk* ti..A*r-?T Aa.ta ftAAt t.9 



lOOAT MACRO Ml 108 H-OEC-77 09:52 PAGE 3-7 



399 OOOAAA 

400 000A54 

401 00046A 

402 000474 

403 0OOSO4 

404 000514 
405 



4Q 
409 

410 000516 

411 000516 

412 000526 

413 000536 
41 



419 000540 

420 000540 

421 000550 

422 000560 

423 000570 

424 000600 

425 000610 

426 000620 

427 000630 
429 000640 



438 000650 

439 000660 

440 000670 

441 000700 

442 000710 
443 

444 000720 

445 000730 

446 00074C 




CSISSW 
CSISSU 
CSISSW 
CSISSW 
CSISSW 
CSISND 



SN,1.GSSH,SSWTCH.SET,NEG 
SP.SPSOL .SSWTCH. CLEAR, NEC 
CR.CRSEF,SSWTCH.SET,NEG 
MA.SWSNA.SLBSWT, CLEAR. NEG 
WI.WISDE.SSWTCH.SET.NEG 



STB FILE SWITCHES 



SSTBSW: 



REF LABEL 



CSISSW HD.SWSNHJNIPT^RisWTH. CLEAR, NEC 
CSISSU PI,SWSPl,]NIPTtRSSWTH,SET,NEG 
CSISND 



TASK FILE SWITCHES 



STSKSW: 



001010 



CSISSW 
CSISSW 
CSISSW 
CSISSW 
CSISSW 
CSISSW 
CSISSW 
CSISSW 
CSISSW 

.IF 

CSISSW 
CSISSW 
CSISSW 

.IFF 

CSISSW 
CSISSW 
CSISSW 
CSISSW 

CSISSW 

CSISSW 
CSISSW 
CSISSW 
CSISSW 

m 
'cm 

.IWC 

rSiSND 



: REF LABEL 
CP,SWSCP,INIPT*RSSWTH,CLEAR,NE6 
DA,SWSDA.lNIPTtRSSWTH,SET,NEG 
FP,SWSFP,INIPT*RSSWTH,SET.NEG 
MM.MPSSV.SSWTCH,SET,NEG 
PI,SWSP1,INIPT*RSSWTH,SET,NEG 
PR,SWSPR.INIPT*RSSWTH,SET,NEG.PRSV 
Sa,SESaA,SSWTCH,SET,NEG 
TR,SWSTR,1NIPT»RSSWTM,SET,NEG 
XT,ABSRT,SSWTCH.SET,NEG,XTSV 



NOF 



RSS11M 



M.SWSAB,INIPT«RSSWTH.SET,NEG 

DS,SWSDS,INIPTtRSSWTH.CLEAR.NEG 

FX,SWSFX.1N1PT»RSSWTH.CLEAR.NEG 



AC ,SWSAC . INIPTtRSSWTH.SE T .NEG.PRSV 

EA,SWSEA,INIPT»RSSWTH.SFT.NEG 

HO,SWSNN,INIPT»RSSWTH.CLEAR,NEG 

PM.SW|«(. IN|PT»RS$WTH.SI T .NIC 

SI.,S4SL,lNIPTtRSSWTH,SET.NEC 

RE.SMME.INlPTtRfSWTH.SET.NCG 

MU.SWSMU.INIPT^RSSWTN.SET.NEC 

FU.COfSRC.SSWTCH.SET.NEG 

RO.RSSOV.iSWTCH.CLEAR.NCC 

AL.SW|AL0!SWSCP.1NIPT»RSSWTH.CLFAR.NFG 

NT.SWSNt.INIPT*RisWTN,SET.N(G 

CM.SWSCM, INIPTTRSSWTH.SE T NEC 

$E,SWSNS.|NIPT»RS$WTH.CltAR.NfG 



; JAR 100 
,.-1 



•••• 



rr 



•••• 



iraiAt lurfen Mnoi U-btC-77 09: 5P PAGF 1-1 



4S6 
A57 
458 
A59 
460 
461 001012 



iS 



001054' 
000010 



464 

465 

466 001052 

467 

468 

If? 

472 001054 
475 



000010 



001144 
001150 



001152 
494 001156 
495 

497 000016 

4r 



:52 PAGE 3-8 










'/LB' 


SWITCH VALUE 


TABLE 


LB>SLBSVT 

LBSV: 

.REPT 
CSItSV 

LB«LB»LM00»1 
.ENOR 
CSISNO 


NNOD ' 
.LB.LMOD 




•/LB' 


SWITCH VALUE 


STORAGE 


SLBSVT: 


: 




: REF LABEL 




.REPT 
.BLKB 
.BYTE 
.ENOR 


r 






.EVEN 








'/PR' 


SWITCH VALUE 


TMLE 


PRSV: 


CSISSV 
CSISNO 


OCTAL 


.SPRVAP.2 




'/XT' 


SWITCH VALUE 


TABLE 


) 


<T$V! 


CSISSV 
CSISNO 


NUMERIC. SENRCT. 2 



.PSECT 



I/O DATA BASE STRUCTURE) 

THE I/O DATA BASE IS DESIGNED TO AUOCATf STORAGE rOR BLOCK 
BUFFER SPACE. FOB'S AND ASSOCIATED DATA IN GlOBAl PSfCfS 
SUCH THAT THIS DATA MAY BE OVERLAYtD WHIN NO LONGER REQUIRED. 

; THE DATA BASE C3NSISTS OF ONE OR MORE OR THE 

; FOLLOWING ELEFVNTSi 

1 (1) AN FOB. RECORD BUFFER. AND POINTERS TO THE fOllOWING FirNENTS 

I (2) A DAfAiET AND DA1ASET POINTERS 



•••• 



TT 



•••• 



IQ0A1 lUrRONIiOR U-OEt-77 09!52 PAGr!-9 



lOOAT MACRO Ml 108 U-OEC-77 09:52 PAGE 3-9 



513 
5U 
515 
516 
517 
516 
519 
520 

^V 
522 
523 
524 
525 

11^ 



000001 



(3) A POOL OF BLOCK BUrFERS 

(A) A DEFAULT NAME BLOCK 

(5) CSI SWITCH BLOCK AND SWITCH VALUE TABLES 

THE FOLLOWING MACRO'S ARE USED TO CREATE THE DATA BASE: 

GENBLK: BUILD FDB, POINTERS. DATASET AND FCS BLOCK BUFFER POOL 
FCS MACROS: BUILD DEFAULT NAME BLOCK 

CSI MACROS: BUILD SWITCH TABLES. 



.END 



•••• M t ••«• 



lOMT mCROMIIOH U-prf-77 09;S? PACf S-10 



IQOAT MACRO Ml 108 
SYMOL TABLE 



U-OEC-77 09:52 PAGE 3-10 



•*♦♦•* GX 

000010 

""115 

000004 
000105 

II 



000002 
115 



••••♦• GX 

000327R 

000322R 

000100 

000010 

001000 

U 

00^ 




ABWT 

B.BBFS 

B.BFST 

B.NXBO 

B.VBN 

CHMt 

CH.AND 

WIPT 

CNTtt 

COISRC 

CR 

CRFPT 

CRtEF 

DSLBE 

DSL IB 

rA.APO 

FA.CRE 

FA.DLK 

FA.ENB 

FA.EXC 

FA. EXT 

FA.NSP 

FA.POS 

FA.RD 

FA.RWD 

FA.SEQ 

FA.SNR 

FA.TUP- 

FA.WCK 

FA.yRT 

FD.BLK 

FO.CCL 

FD.COM> 

FD.CR 

FO.DIR 

FD.FTM* 

FD.F11 

FD.INS 

FO.ISP- 

FD.MNT 

FD.OSP 

FD.PLC 

FD.PNM 

FD.PSf 

FD.RAH 

FD.RAN- 

FD.RCC 

FO.RIM 

FD.SOI 

FD.SQO 

FD.TTY 

FD.UBN 

FF 

FF. CH« 

tf.W 



. ABS. 000000 



000100 
010000 
000001 

004000 
040600 
000040 
000020 
02 




FF.POE 
FF.RWD 
FF.RWF 
FF.SPC 
FO.APO 
FO.MFV 
FO.RD 

004 FO.UPO 
FO.yRT 
FtDEVL 
FtOIRL 

024 FtFlLL 
F.ACTL 

031 F.ALOC 

031 F.BBFS 
F.BOB 
F.BGBC 
F.BKDN' 
F .BKDS 
F.BKEF 
F.BKP1 
F.BKST 
F.BKVB 
F.CHR 
F.CNTG 
F.DFNB 
F.DSPT 
F.DVNPI- 
F.EFBK 
F.EFN 
F.EOBB 
F.ERR 
F.FACC 
F.FFBf 
F. 

F.FNB 
F.FTVPi 
F.FVtR 
F.NIBK 
F.LUN 
F.MiCT 

F.mci 

F.F9FC 

F.NRBO 

F.NRCC 

F.OVBS 

F.RACC 

F.RATT 

F.RCIil- 

F.RCTl 

F.RSl/ 

F.RTYP 

F.SCON 

F.SPDV 

F SPUN 

000 




II! 

)21 
000076 
000040 
000062 
000070 
000057 
000026 

)51 
000024 




>74 



F.STBK 

F.UNIT 

F.URBO 

F.VBN 

F.VBS2 

6E.B1F 

6E.CLCI 

GE.CCFiK 

6E.C0N 

GE.EOF 

6E.IND 

GE.IOR 

GE.LC 

6E.WE 

6E.0PR 

GE.RBG 

6E.SIZ 

6.CMLD 

G.DPRFI 

6. ERR 

6.1SIZ 

G.LPDL 

6.M00E 

G.PSDS 

G.SIZE 

HT 

INIPT 

INPPT 

LB 

LBSV 

LF 

LGtSH 

LMOO 

mpov 



»T 
MPISV 

NB.DEV 
>a.DIR 

NB.SD1 
m.%92 

«.SMI> 
NB.STPi 

ra.rvp 
^B.vER 
m» 

N.DID 

N.DVfi*- 

N.FID 

HJHm 

N.FfyP 

N.FVtR 

N.Ntxr 



000036 
000136 
000020 
000064 
0000^0 
177> 5 

OOCOOI 
000020 
177766 
000002 
m777 
000010 
177774 
177776 
177730 
000040 
000146 
000160 
000140 
000020 
000100 
000141 
000142 
000224 
000011 



)200R 
A01144R 
001012R 
000012 





N.STAT* 

N.UNIT> 

ODLNB 

OOLPT 

PRSV 

RStOV < 

RIBLKB 

RINAME 

Rtsyeic 

RISWTH 

RSiiin< 

R.FIX 
R.SEQ 
R.VAR 

sriQA 
stztt 

SPA 

SPML 
STBPT 
SMAC 
SWIAL 
SWt.ilO 
SWtl' 
SWtCK 
SWtCF 
005 SWtOA 
022 SWtOl 
SWIEA 

sytFP 

SWILB 
SWWA 

SWIMP 
SWIMU 
SWtNH 
SWMS 

SWlPR 

SWtRL 
SWISL 
SWISS 

SWtTR 

S.BFHO 

S.FATT 

S.FDB 

S.FNAM 

S.FNB 

S.FNBW 

S.FNTY 

S.FTYP 

S.NFEM 

TSfcPT 



000020 
000034 
0001 66R 
OOOOOOR 
001144R 



031 

III 



GX 

G 

G 

G 

G 

G 



GX 



****** 

000150 
000140 
000146 
000144 
000142 
000000 
000001 
000003 
0OOOO2 

HI***** 

000002 
000040 

****** QX 

OOOOOOR 
000004 G 
000040 
000002 
f)00100 
^-04000 
30000 
siC2000 
040000 
C?0000 
040000 



020000 
100000 
010000 



OOOOR 



VT 

WISDE > 
027 XTSV 
027 fCFIlPT 
031 SCRFNM 
ICRFPT 
SDFINP 
SDFLBS 
SDFLIB 
IDFMAP 
tDFNB 
IDF STB 
IDFSWT 
IDFTSK 
IDSPLB 
lERRCT* 
IININM 
IINIPT 
lINPfW 
017 IINPPT 
IINPSW 
ILBSVT 
ILBSWT 
ILII 
ILII 
ILNBUF* 
MAPNM 
MAPPT 
SMAPSW 
MAPTD 
MAPTM 
lODLPT 
IPRVAP- 
ISTBMil 
ISTBPT 
ISTBSW 
ISWTCH* 

trsKrfi 

ITSXPT 
ITSKSW 




oil ...TPC 



000013 
****** 6X 

0011 S2R 

OOOOOORG 

00001 2RG 

OOOOOORG 

000006RG 

00001 ORG 

000264RG 

000002RG 

OOOOOORG 

000Q04RG 

00001 2RG 

OOOOOORG 

000330RG 

****** GX 

OOOOOORG 

OOOOOORG 

00001 ORG 

OOOOOORG 

000352RG 

001054RG 

00001 4RG 

000226RG 

OOOOOORG 

****** GX 

000004RG 

OOOOOORG 

000444RG 

000346RG 

0001 70RG 

OOOOOORG 

****** GX 

000006RG 

OOOOOORG 

0005 16RG 

****** GX 

000002RG 

m:§ 

000001 
0001 52R 
OOOOOOR 
000S26R 

0000??R 
•***•* G 

000000 
OOOOOOR 



000140 



031 
003 
006 
025 



031 
031 



031 

006 
007 
006 
023 
031 
031 

031 
030 

006 
015 
031 
031 
031 
026 

006 
020 
031 

006 
012 
051 

017 



005 



•*•• t f *«•• 



IQW! l^tROHIIOS U-^ff-T7 09:5? PACF j-n 



1 



IQOAT MACRO mi 08 U-DEC-77 09:52 PAGE 3-11 
SYMBOL TABLE 

000016 001 

ttFSRI 000000 002 

CMIPSO 000002 003 

CMItO 000326 OOA 

INItO 001 25A 005 

FILNIO OOOOU 006 

INIPtO 000002 007 

INIM 000000 010 

TSKIO 001 17* Oil 

TSKPtO 030002 012 

TSKtE 000000 013 

NAPtO 0022U OU 

MAPPtO 000002 015 

MAPK 000000 016 

STBW 001174 017 

STBPIO 000002 020 

STBtE 000000 021 

INPtO 000352 022 

INPPIO 000002 023 

WV> 000152 02A 

CRFPtO 000002 025 

OOLPtO 000002 026 

ODLM) 000326 027 

LIBNIO 000002 030 

INIDIO 001160 031 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 5165 WORDS ( 21 PAGES) 
DYNAMIC MEMORY: 157U WORDS ( 60 PAGES) 
ELAPSED TIME: 00:01:25 
C31,20]IOOAT,[31,301IOOAT/-SP«C31,10]MACFLM.rCSPR.IODAT 

M 



TT 



•*•• J 7 •«•• 




•t*ft x 7 *••• 



wrrin nAfPin «non u-orr-T? 09i« mw ? 



MACFLM MACRO mi08 U-OEC-77 09:53 PAGE 2 

1 000000 MttSGIsO 



•*•• I f •••« 



MAtriM MACRO nn 08 U-DIC-7^ 0«iS3 RAOI S 



MACFLM MACRO Ml 108 U-DEC-77 09:53 PAGE 3 



.IF 



OF 



10 
11 
I? 
15 
U 
15 
16 
17 
18 
19 
20 
21 
22 
21 
2^ 
25 
26 
27 
t8 
29 
50 

5'- 



M$tSG1 



40 

A1 

:f 

44 
45 
46 000000 



(4 000000 



000001 



.TITLE LM1 
.IFF 

.TITLE LM2 
.ENDC 
.lOENT /OO/ 



COPVRIGNT 1975, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 
COPYRIGHT 1974, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGHAL 
EQUIPMENT CORPORATION. 



THE USE OR RFLIABILITY 
IS NOT SUPPLIED BY DEI. 



; 



DEC ASSUMES NO RESPONSIBILITY FOR 
OF ITS SOFTWARE ON EQUIPMENT WHICH 

VERSION 00 

; C. MONIA 20-APR-74 

LOAD ERROR MESSAGE TEXT 



**-tLM1-DUMMY SUBROUTINE TO LOAD ERROR TEXT SET 1 OVERLAY 
•*-lLM2-DUMMY SUBROUTINE TO LOAD ERROR TFXT SET 2 OVERLAY 

THESE SUBROUTINES ARE CALLED TO CAUSE SEGMENTS 
CONTAINING ERROR MFGGAGE TEXT TO BE LOADED VIA THE AUTOLOAD 
FEATURE 



•LMI 1 1 



lLM2i> 



.If 

.IFF 

.ENDC 

RETURN 

.END 



W 



MtSSGI 



*M« N f tttt 



LN1 MACRO Ml 101 
)YMMl tABkF 



U-OtC-77 09i)S RAM S-1 



im MACRO ni 108 

SYMBOL TABLE 



U-OEC-77 09:55 PAGE 3-1 



» 



' 000015 

> oooou 



HT 
LF 



000011 
00001? 



MSSSGU 000000 
R$t11M« 000000 



SPA 
VT 



» 000040 
= 000013 



$LM1 



OOOOOORG 



ABS. 



000000 000 

000002 001 

ERRORS DETECTED: 

VIRTUAL MEMORY USED: 535 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 157AA WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:06 

C51 ,20]LMS1 .C31 .30]LMS1/-SP»C31 .10]MACFLM.LM1 .LMSG 
M 



•••• ^ f ••«• 



MACFLM MACRO M1108 K-0EC-r7 09:53 PAGC 2 



10 
11 
12 
15 
U 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 

i; 

31 

if 



000000 



* 000000 



000001 



.IP DP mssGi 






.TITLE LNI 






.IFF 






.TITLE L«2 






.ENDC 






. I DENT /OO/ 






C0f>Vft!6MT 1973, DIGITAL EQUIPMENT CORP.. 
COPYRIGHT 197*. DIGITAL EQUIPMENT CORP.. 


NAVNARD. 
NAVNARD. 


MASS. 
MASS. 



THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPf 
AS NAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THI3 DOCUMENT IS SUBJECT TO CHANGE WITf'OUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 



THE USE OR RELIABILITY 
IS NOT SUPPLIED BY DEC. 



DEC ASSUMES NO RESPONSIBILITY FOR 
OF ITS SOFTWARE ON EQUIPMENT WHICH 

VERSION 00 

C. MONIA 20-APR-74 

LOAD ERROR MESSAGE TEXT 



•*-tLM1-DUMMY SUMOUTINE TO LOAD ERROR TEXT SET 1 OVERLAY 
**-lLM2-DUMMY SUBROUTINE TO LOAD ERROR TEXT SET 2 OVERLAY 



THESE SUBROUTINES ARE CALLED TO CAU 
CONTAINING ERROR MEGGAGF TEXT TO BE LCADEm 
FEATURE 



. SEGMENTS 
VIA THE AUTOLOAD 



I- 



ILMI 1 1 



8»M2n 



.If 



.IFF 



OP 



MtSSGl 



.ENDC 

RETURN 

.END 



•*•• C I •••• 



LM2 MACRO M1108 
SYMBOL TABLE 



U-DEC-77 09:53 PAGE 2-1 



CR 
FF 



000015 
OOOOU 



HT 
LF 



s 000011 
« 000012 



ABS. 



000000 
000002 
ERRORS DETECTED: 



000 
001 



RSSIIMs 000000 
SPA > OOOOAO 



VT 



000013 



$LM2 OOOOOORG 



VIRTUAL MEMORY USED: 530 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 1S7AA WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:05 

C31 ,203LMS?.C31 ,303LMS2/-SP-C31 .10]MACFLM,LMSG 
3SpO 



•••• I •««• 




•••* I I •«•• 



r::7: 



M^AAA MAAAA AA_&AA_«« i\A.BA teA 



FCSPR MACRO Ml 108 U-OEC-77 09:5« PAGE 3 



A4 000000 



.TITLE MLSGO 
.IDENT iVtf 



COPYRIGHT 1975. DIGITAL EQUIPMENT CORP.. MAVNARD. 

CP0VRI6HT (C) 1977 

COPYRIGHT 1976. DIGITAL EQUIPMENT CORP.. MAVNARD. 



;**NEW** 
,••••1 



MASS. 
MASS. 



THIS SOFTWARE IS FURNISHED 70 PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC^S COPYRIOHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DFC. 

VERSION 07 

i). N. CUTLER/C. MONIA 10-DEC-73 



.•••-1 



MODIFICATIONS: 
NO. DATE 



\\\ 



046 
0*7 
JAK105 



03-JAN-7J 
28-JAN-75 
03-FEB-76 
07-FEB-76 

1-APR-/7 



PROGRAMMEr, 



C. MONIA 
C. MONIA 
C. MONIA 
C. MONIA 
; CHANGES FOR PREMATURE EOF IN ODL 



.•••NEW«» 



READ OVERLAY DESCRIPTION FILE AND VERIFY LINK FORMAT 
MACRO LIBRARY CALLS 



.MCALL CLOSEI.GCMLl.CCMLDt.RCMLt 
GCMLDI 



LOCAL MCROS 

GENERATE DIRECTIVE NAME LIST 

GDIR NAME. FLAG 

WHERE: 

■1 ro 5 CHARACfER DIRECTIVE NAME AND ADDRESS Of PROCESSING 
SUBROUriNE 



•••t 



TT 



•••• 



■I AAA MArMA Hiina ii..Mr.yy nSitA SAet t.i 



mSGO MACRO mi08 U-OEC-77 09:54 PAGE 3-1 

t FLAG^OPERANO FLAG. IF FLAG IS NB, THEN OPERANDS ARE REQUIRED 



Ji 



000000 





.MACRO 


GDIR NAME. FLAG 




.PSECT 


DIRLO 


tt>. 








.yORD 







.yoRD 





.-11 








.RAD50 


/.•NAME/ 


.»Mt* 






N>0 








.IIF 


NB FLAG, N>1 




.yORD 


wm*H 


I.NG-.-l 


.PSEcr 

.ENOM 





GENERATE QOH'tfX SECTION ATTRIBUTE LIST 
GSAT SAT.FBIT.DIS 

WHERE: 

SAT>1 TO 6 CHARACTER ATTRIBUTE NAME 
FBIT'FLAG BYTE BIT 

DJS> FLAG BIT DISPOSITION. IF DIS NB. THEN SET BIT. ELSE 
CLEAR BIT. 



.'.'i 



ti>. 
.■.-* 

.-II 

N*t 



.MACRO GSAT 

.PSECT SATlO 

.yORD 

.yORD 



.RAD)0 /SAT/ 



.IIF m 
.BVTE FBIT.N 

.yoRO 

.PSECT 
.ENOM 



LOCAL DATA 

GCML BLOCK SAVE AREA 

OCMSAi .BIKB G.ISIf 
.EVEN 



SAT.FBIT.DIS 



DIS, N-1 



•••• 



I I MM 



ten MArMi Miioa u-Dir-r; 09tt4 pagt 1-p 



1 



HLSGO MACRO «1108 U-DEC-77 09:5* 



19 000000 

20 000000 

21 000000 

22 300000 
25 000020 



000000 
000000 

31 000000 

52 

55 000002 

5* 000020 

55 000020 

56 000020 

57 000C20 

56 000020 
59 000020 

40 000020 

41 000020 

42 000020 

45 000020 
44 000020 
45 

46 000020 



52 000112 
55 

54 000112 

55 000112 
56 

' 000114 
000020 




71 000020 



000000 



000000 



PAGE 5-2 






; DIRECTIVE LIST 




.PSECT 
DBAS: 

.PSECT 
DBASE: 

.PSECT 


DIRLO 
DIRL1 


; REF LABEL 
; REF LABEL 


; SECTION ATTRIBUTE LIST 




.PSECT 
SBAS: 

.WORD 


SATLO 



; REF LABEL 

; DUMMY ZERO AT START OF LIST 


GSAT 
GSAT 
GSAT 
GSAT 
GSAT 
GSAT 
GSAT 
GSAT 
GSAT 
GSAT 
GSAT 
GSAT 


ABS.CSSREL 

CON.CSSALO 

D.CSITYP.I 

G81.CSSGBL.1 

HCN.CSSMEM.1 

I.CSlTrP 

LCL.CSIGBL 

LOW.CSSMEM 

OVR.CSSALO.I 

REL.CSSREL.I 

RO.CStACC.1 

RW.CSSACC 




.PSECT 






; SEGMENT ATTRIBUTE LIST 




.PSECT 


SATLO 




SGBAS: 

.WORD 





; REF LAB^). 

; DUMMY ZERO AT START OF LIST 



GSAT 
GSAT 
GSAT 
GSAT 
QSAT 
GSAT 

.PSICT 



DSK.SGIDSK 
OBi.SGtGBL.I 

PMY.SCIPMY.I 
N0DSK.S6tD$K.1 
NOGBL.SCIGBL 
NOPNY.SGSPHY 



I 
i 

TMFi 



; TEMP STOMAOE 

.BLKW 9 



i TtMP STORAGE 



•••• 



TTT 



•••• 



li.«QO MACRO M110I 14-DIC-7r 09:54 PAGE S-5 



MLSGO MACRO Ml 108 U-OEC-77 09:5* PAGE 3-3 



172 
175 
17A 
175 
176 



ii 

185 

190 
191 

192 000032 

193 000032 
m 000036 

195 000M4 

196 000050 

197 00005* 

198 000056 

199 000062 

200 000066 

201 000072 
V2 
)74 



n 000220 



005067 
012767 
005067 
016700 
010004 
062700 
012701 
012702 

012021 

010400 

010400 
016701 
012761 
016160 




•*-SI«.SGO-REAO ODL AND VERIFY LINE FORMAT 

INPUTS: 

OOL FILE 

OUTPUTS: 

EACH LINE IN THE OVERLAY DESCRIPTION IS READ. IDENTIFIED BY 
DIRECTIVE TYPE AND RETAINED IN DYNAMIC STORAGE FOR LATER PROCESSING. 

THIS ROUTINE IS CALLED BY SMULSG TO PERFORM THE ABOVE 
PROCESSING AND VERIFY CORRECT LINE SYNTAX. NOTE THAT ALL I/O 
SPECIFIC TO ODL PROCESSING IS DONE HERE. 



I" 



OOOOOOG 
OOOOOOG 000002G 
OOOOOOG 
OOOOOOG 

OOOUO 

000000' 

000010 



ML SCO: 



Sli 



OOOOOOG 

OOOOOOG OOOOOOG 
000044 000044 



10S: 



000075 



000030' 



CLR 
MOV 
CLR 
MOV 
MOV 
ADD 
MOV 
MOV 

MOV 

SOB 

MOV 

CALL 

MOV 

MOV 

MOV 

MOV 

'-.CMLt 

BCS 

ADD 

MOV 

MOV 

MOV 

ADD 

CLR8 

CALL 

CMPB 

BCQ 

MOV 

.RfPT 

CLR 

.INDR 

CALL 



IDIRHD 

«tDIRH0.tDIRHD*2 

tRTDIR 

MOLPT.RO 

R0.R4 

«S.FDB,R0 

«GCMSA,R1 

«G.ISi;/2.R2 



CLEAR DIRECTIVE LISTHEAD 
LAST POINTS TO FIRST INITIALLY 
; CLEAR ROOT DIRECTIVE POINTER 
;GET OVERLAY DESCRIPTION RECORD BLOCK 
; SAVE POINTER 
; POINT TO GCML IMPURE AREA 
; PUINT TO GCML SAVE AREA 
; SET SIZE Or IMPURE AREA 



(R0)».<P1)» 
R2.5S 

R4.R0 

ISTFDB 

R4.R0 

•INIPT.RI , 

fSWtCC.RSSWTH(RI) 



SAVE IMPURE DATA AREA 

RESTORE GCML BLOCK ADDRESS 
RECORD FDB ADDRESS OF OPEN FILE 
RETRIEVE RECORD BLOCK POINTER 
GET RECORD BLOCK POINTER 

ASSUME CONCATENATED OBJECT FRF 



F.DSPT(R1).F.DSPT(R0);SET ADDRESS OF DATA SET DESCRIPTOR 

jODlPf \ READ A LINE OF OOL TEXT 

50S ;IF CS I/O ERROR 

fG.CMlD.RO ; POINT TO I ENGTH OF LINE 

RO tLNDES ; SAVE DESCRIPTOR ADDRESS 

(R0)».R1 ; GET LENGTH OF LINE 

(RO),RO ; GET ADDRESS OF LINE 

RO.Rl ; COMPUTE ADDRESS OF LAST BYTFO 

(R') ; MARK END OF LINE 

ISETNB ;BYPASS LEADING BLANKS AND HT'S 

f'i.(RO) ; COMMENT lINI? 

101 .IF EO YES 

<R0) ;BLANK IINE? 

lOl ;IF EO YES 

«TMP*|..RS .GET ADDRESS OF I|MP AREA 

-(R?» ; CLEAR TEMP STORAGE 

MR .'CONVERT LMEL OR DIRECTIVE HNH. 



••«• I I •••• 



IJ-MO HACROMIIOi 14-DEC-y7 09 U PAGf ^-4 



«LSGO lUCRO mi 08 U-OEC-77 09:5A PAGE 3-A 



Jl 

00024? 
000246 
000252 
000254 

000256 
000260 



. 000264 

242 000270 

243 000272 

244 000276 

245 000300 

246 000302 

247 000302 

248 000304 

249 000306 

250 000312 
" 000314 

000316 

254 000526 
257 000340 
260 000346 

261 ooor 



251 



122702 000072 
001010 

014565 000004 

014565 000004 



005300 
010046 
010001 

112011 

001407 

122127 000040 

101373 

005377 OOOOOOG 

005301 

000767 

012600 

024545 

012701 000000' 

021511 

001004 

026561 000002 000002 

001447 

062701 000006 

020127 000000' 

103765 

012701 

OOOG OOOG 
000460 



201: 
22t: 



116003 
012701 
120327 
0014|3 

Wr 

001416 

m 

^^0327 
001407 
012701 

001482 
012701 



251: 

301: 
401: 

SOS: 



0OOU6 
OOOUO 



)02 

000000c 
1 rrrth 

ooooor. 



SSI I 



I 



cMpe 

BNE 

MOV 

MOV 

CALL 

CALL 

DEC 

MOV 

MOV 

MOVB 

BEQ 

CMPB 

BHI 

DEC 

DEC 

M 

MOV 

CMP 

MOV 

CMP 

BNE 

CMP 

BEQ 

ADD 

CMP 

BLO 

MOV 

.BYTE 

BA 

MOV 

ADD 

MOVB 

MOV 

CMPB 

BEQ 

MOV 

CMPB 

BEQ 

ADD 

MOV 

CMPB 

BEQ 

MOV 

CMPB 

HQ 

MOV 



#':.R2 

20$ 

-(R5),4(RS) 

-(R5),4(R5) 

tSETHB 

SRR 

RO 

RO.-<SP) 

R0.R1 

<R0)*.(R1) 
25S 

(R1)*.#SPA 
221 

atLNDES 
R1 

2i% 

(SP)*,RO 

-(R5).-<R5) 

VDBAS.RI 

(R5).(R1) 

401 

2(R5).2(R1) 

60t 

«LN6,R1 

Rl.fOBASE 

30i 

(PC)»,R1 

EIR36,SIV2 

90t 



.•LABEL SPECIFIED? 
:IF NE NO 
.-MOVE LABEL 

■BYPASS LEADING BLANKS AND NT'S 
.■CONVERT DIRECTIVE NAME 
;BACK UP TO TERMINAL BYTE 
;**033 SAVE ADDRESS OF TERMINAL BYTE 
.•♦♦033 COPY ADDRESS OF BYTE 
.■♦♦033 

.■♦♦033 COPY BYTE 
;^^033 IF EQ FINISHED WITH LINE 
;^^033 PRINTING CHARACTER? 
.•♦♦033 IF HI YES 
; DECREMENT BYTE COUNT 
;^^033 BACKl»> BYTE POINTER 
;f«033 CO AGAIN 
.•♦♦033 

.•♦♦033 RETRIEVE TERMINAL BYTE ADDRESS 
.•POINT TO DIRECTIVE NAME 
;GET ADDRESS OF DIRECTIVE LIST 
.FIRST HALF MATCH? 
;IF NE NO 

SECOND HALF MATCH? 
.IF EQ YES 

.•ADVANCE TO NEXT NAME 
; END OF LIST? 
;IF LO NO 
.ILLEGAL DIRECTIVE 
.FATAL -NO RETURN 



R0.R2 ; COPY ADDRESS OF GrF^ BlOCK 

#G.CMLD.R2 ; POINT TO ADDRESS OF LINE DESCRIPTOR 

C.ERR(R0).R3 ; GET ERROR CODE 

*<SIV2*400!E»R9>.R1 ; ASSUME TOO MANY INDIRECT FILES 

R3.#6E.MDE ; TOO MANY INDIRECT FILES? 

551 ; IF FQ YFS 

*<S«V2«400!E»R8>.R1 : ASSUME INDIRECT FILE SYNTAX ERROR 

R3.#GE.IND ; ERROR IN INDIRECT FILE SPECIFICATION? 

551 • IF EQ YES 

#<F.FNB^N.rNAM>-C.CMLD.R2 ; POINT TO FNB 

#<SlV2«400!EIRn>.R1 ; ASSUME OPEN FAILURE 

R3.fGE.0PR ; OPEN FAILURE? 

55J ; IF EQ YES 

#<SSV2»400!EIR94>.R1 ; ASSUME PREMATURF EOF 

R3.tGE.E0F ; PREMATURE EOF 

551 ; IF FQ YES 

#<SIV2*400!EIR10>.R1 ; MUST BE ODl MLE I/O tRHOR 



; J A* 105 
.•JAK105 
.•JAK1M 



CALL lERMSG 



.'OUTPUT ERROR MESSAGE 



15 000444 016101 000004 



I DIRECTIVE FOUND-DISPATCH TO DIRECTIVE PROCESSING ROUTINE 

601: MOV LNG-2(Rn.R1 ;GtT ADDRESS OF ROUTINt AND OPfHANO FLG 



•••• J I •••• 



(tSGO MACRO MIIOB U-pff-V 09 U PAGF 3-5 



NLSGO MACRO Ml 108 U-DEC-77 09:5<. PAGE 5-5 



286 000450 

287 00045A 

288 000«.56 

289 000460 

290 000462 

291 000466 

292 000470 
295 000472 

294 000476 

295 000500 

296 000502 

297 000504 

298 000506 
299 

500 

501 

502 

505 

304 000512 

305 

306 000512 

507 000514 

508 000520 

509 000522 

510 000524 

511 000526 

512 000532 
515 000552 

Si 5 



18 
i19 000556 



000536 
J27 880548 

n 000544 



.1 000^74 
^2 



032701 000001 
001405 
005702 
001410 

122702 000073 
001405 
022525 
042701 000001 

000613 
012701 

OOOG OOOG 
000167 000452 



005726 
005767 
001004 
012701 

OOOG 
000167 




024545 



24545 

1;?} 

01562 
12746 
12746 
1i'04 
00 16 



OOOOOOG 



OOOG 
000412 





BIT 


#1.R1 
70i 


OPERANDS REQUIRED? 




BEQ 


IF EQ NO 




TST 


80$ 


TERMINAL ZERO? 




BEQ 


If EQ VES-ERROR 




cMpe 


#*;.R2 


COMMENT TERMINATOR? 




BEQ 


80$ 


IF EQ YES-ERROR 


70$: 


CMP 


(R5)»,(R5)» 


POINT TO LABEL 




BIC 


«1,R1 
(R1) 


CLEAR OPERAND FLAG 




CALL 


CALL DIRECTIVE PROCESSING ROUTINE 




BR 


10$ 


GO AGAIN 


SOS: 


MOV 


(PC)».R1 


DIRECTIVE HAS NO OPERANDS 




.BVTE 


E$R55.S$V2 
SDIRLl 


FATAL -NO RETURN 


90$: 


JMP 




; END DIRECTIVE 








6D1R 


END 




END: 


TST 


(SP)» 


•REMOVE RETURN FROM STACK 




TST 


$RTDIR 


ROOT SEGMENT SPECIFIED? 




BNE 


20$ 


IF NE YES 


10$: 


MOV 


(PD^.RI 


ROOT SEG NOT DEFT 'NED 




.BYTE 


E$R40.S$V2 


FATAL -NO RETURN 




JMP 


SDIRLl 




20$: 










CALLR 


$CLSOD 


CLOSE ODL FILE 




DIRECTIVE 





GDIR NAME.I 



.ENABL LSB 






OOOOOOC 



OOOOOOC 
000112' 
OOOOOOC 



CMP 
CALL 
CMP 
MOV 
TST 
KQ 
MOV 
MOV 
V 



8 



-(R5>.-(R;) : POINT TO START Of PARAMC TER BLOCK 

$RR ; CONVFRI NAME 

-(R5).-(R5) ; BACK UP TO STAR! Of NAME 

«<S$V2*400IE$R40>,R1 ; ASSUME NULL NAME SPECIFIED 
(R5) ; NULL NAME SPECIFIED? 

SEG5 ; IF EQ YES 

#«F$LG*2>*400!SiEGN>,-(SP) ; SET ITEM TYPE, Sltt 
»SCBAS,-(SP) ; SET BASE ADDRESS OF ATTRjRuTF LIST 
f<SG$DESISG$MEM>,R4 ; SET INITIAL FLAGS WORD 
51 J 



; MYOGRAM SECTION DIRECTIVE 
I 

ODIR PSFCT.1 



•••• 



FT 



•••• 



MISOO MACRO M1108 U-Dtt-r7 09)54 PAGF 1-4 



MLSGO MACRO mi08 U-OEC-?? 09:5A PAGE 3-6 



3A3 0QQ57A 
3A4 000576 
345 000602 

3A7 000606 

348 000610 

349 000612 

350 0006U 

352 000624 

354 000630 

355 000634 

356 000636 

357 000636 

358 000640 

359 000642 

360 000644 

361 000650 

362 000652 

363 000656 

364 000660 

365 000664 

366 000670 

367 000672 

368 000672 

369 0O0674 



)720 



i;!S 



024545 

024545 
012701 

OOOG OOOG 
005715 
001554 

012704 0000006 
012746 OOOOOOC 
012746 000000' 



022525 

011603 

005702 

001434 

1?2702 000073 

001431 

122702 000054 

001121 



024545 

021523 
001004 

026523 000002 
001407 
005743 

022323 
005713 
001367 
012701 

OOOG OOOG 
000511 
141304 
005715 
100343 
151504 
000741 
012701 000002C 



PSECT: 



Sli 

10S: 



20$ t 



2SS: 



SOti 



401 1 



010001 

012621 
016521 
014521 

m 



)r??rM 



CHP 

CALL 

CMP 

MOV 

.BYTE 

TST 

BEQ 

MOV 

MOV 

MOV 

CALL 
CMP 

MOV 

TST 

BEQ 

CMPB 

BEQ 

CMPB 

BNE 

CALL 

CALL 

CMP 

CMP 
BNE 

CMP 
BEQ 
TST 

CMP 

TST 

BNC 

MOV 

.BYTE 

W 

BKB 

TST 

BPL 

BISB 

BA 

MOV 

CALL 

MOV 

CMP 

MOV 

MOV 

MOV 

MOV 

W 



-(R5).-(R5) .-POINT TO BEGIfMlNG Of TEMP STORAGE 

SRP ;GET CONTROL SECTION NAME 

-<R5).-(R5) .'POINT TO CONTROL SECTION NAME 

(PC)t.R1 .'ASSUME BLANK NAME 

ESR41.StV2 ; FATAL -NO RETURN 

(R5) .'ANY NAME SPECIFIED? 

SDIRL1 :IF EQ NO 

«CStREL.R4 : SET INITIAL KAGS WORD 

|»«F$L6»2>»400!SICTN>.-(SP) ; SET ITEM TYPE, SIZE 

#SaAS,-(SP) ; GET BASE ADDRESS OF ATTRIBUTE LIST 



SDIRL 
(R5)*.(R5)» 

(SP).R3 

R2 

40S 

#';.R2 

40$ 

#*..R2 

SEG3 

$SETNB 

$RP 

-(Rf:),-(R5) 

(Ri).(R3)* 
25$ 

2(R5).(R5)t 

30$ 

-(R3) 

{R3)*.(R3)» 

(R3) 

20$ 

(PC)».R1 

E$R42,S$V2 

SDIRL 1 

(R3).R4 

(R3) 

10$ 

(R3).R4 

10$ 

«F$LG«2.R1 

$ALBM( 

RO.M 

(SP)»,(R1)» 

(SP)»,(R1)» 

-4(R5),(Rn» 

-(R5),(R1)« 

R4.(R1) 

SE62 



.DSABL LSB 



ROOT DIRECTIVE 



SCAN DIRECTIVE LIST FOR DUP NAME 
ADJUST R5 

GET BASE ADDRESS OF DESCRIPTOR 

AT END OF LINE? 
IF EQ YES-DONE 
COMMENT TERMINATOR? 
IF EQ YES-DONE 
COMMA TERMINATOR? 
IF NC NO-SYNTAX ERROR 
BYPASS LEADING BLANKS AND NT'S 
GET SECTION ATTRIBUTE NAME 
BACK UP TO NAME 

CHECK FIRST HALF OF NAME 
IF NE NO MATCH 
CHECK SECOND HALF OF NAME 
IF EQ HAVE ATTRIBUTE 
ADJUST R3 

STEP OVER NAME AND DATA 

AT END OF LIST 

IF LC NO 
ILLEGAL SECTION ATTRIBUTE NAME 
FATAL -NO RETURN 

ASSUME BIT IS TO BE CLEARED 
CLEAR BIT? 
IF PL YES 
SET BIT 
GO AGAIN 

OFT SIZE OF BLOCK NEEDED 
ALlOCATf SrCRAGE 
rOPY ADDRESS OF BLOCK 

CLEAN STACK, ADJUST BLOCK ADDRESS 

SET TYPE, SIZE 

SET FIRST HALF Of NAMf 

SET SECOND HALf Of NAMt 
SET FLAG BYTE 



rr 



•••t 



*«•« 



ItSOO MACRO M1108 14-DEr-77 09t54 PAQP S-7 



MLSGO MACRO M1108 U-OEC-77 09:5A PAGE 3-7 



401 
A02 
A03 
404 
405 
406 
407 
408 
409 
410 
411 
412 
413 
414 
415 
416 
417 



000764 

000764 
000766 

000772 

)0774 

O00776 

001000 



001002 



001002 
001004 
001006 

418 001010 

419 001012 

420 001016 

421 001022 

424 001034 

425 001036 

426 001040 

427 001042 

428 001046 

429 001050 

430 QQ1052 
451 001054 

001056 
001060 

m 

001072 

001074 

]1076 

)11Q2 

)1104 

1106 

1110 

)1114 

)1120 



11 
)1l] 

)ii; 



GDIR ROOTJ 



005046 

005767 OOOOOOG 

001406 

012701 

OOOG 0006 
000461 



ROOT: 



CLR 
TST 
BEQ 

nov 

.BYTE 
BR 



-(SP) 

tRTDIR 

SEG1 

(PC)».R1 

ESR38.SSV2 

SDIRLI 



FACTOR DIRECTIVE 



6DIR FCTR.1 



005715 
001446 
010546 
010003 

017701 OOOOOOG 
062701 000013 
OIOU'S 



fCTR: 



SEG1: 



012601 
005726 
001002 
010067 
010002 
005722 

fe 

012522 
012522 
016701 
016101 
160103 
060003 

001376 

fc 

012701 

OQOG 
000406 



OOOOOOG 



lOli 



OOOOOOG 
000002 



000012 



m 



OOOG 



20li 
SEG2: 



SEQ3: 



TST 

BEQ 

MOV 

MOV 

CALL 

MOV 

ADD 

MOV 

CALL 

MOV 

TST 

BNE 

MOV 

MOV 

TST 

SWAB 

MOV 

MOV 

MOV 

MOV 

MOV 

sue 

ADD 

ADD 

MOV 

MOVB 

BNE 

MOV 

MOV 

RETURN 

MOV 



(R5) 

SEG3 

R5,-(SP) 

R0.R3 

SDIRL 

aSLNDES.RI 

#11. .R1 

RI.-(SP) 

SALBLK 

(SP)*,R1 

(SP)* 

101 

RO.IRTDIR 

R0.R2 

(R2)* 

R1 

R1.(R2)» 

(R$)»,(R2)» 

(R5)*,(R?)» 

ILNDES.RI 

2(R1),R1 

R1.R3 

R0.R3 

#10. .R3 

R3,(R2)t 

(R1)».(R2)» 

201 

R0.atDIRHD*2 

R0,IDIRNDt2 

(PC)».R1 
EtRS7,SSV2 

SDlrtL^ 



;SET ROOT SEGMENT FLAG 

; MULTIPLE ROOT DIRECTIVES 

;1F EQ NO 

;MULTIPLV DEFINED ROOT SEGMENT 

; FATAL -NO RETURN 



ANY LABEL SPECIFIED? 

IF EQ NO-SYNTAX ERROR 

SET SEG SEGMENT FLAG 

SAVE ADDRESS OF NEXT BYTE 

SCAN DIRECTIVE LIST FOR DUf NAME 

GET LENGTH OF LINE 
ALLOW FOR TERMINAL BYTE AND ENTRY 
SAVE LENGTH FOR LATER 
ALLOCATE STORAGE 
RETRIEVE SI7E OF BLOCK 
ROOT SEG? 
IF NE NO 

SET POINT TO ROOT SEGMENT 
COPY ADDRESS OF BLOCK 
POINT TO SECOND WORD 
SIZE TO LEFT BYTE 
SET TYPE/SIZE 
INSERT SEGMENT NAME 

GET DESCRIPTOH ADDRESS 

GET ADDRESS OF LINE BUFFER 
CALCULATE RELATIVE ADDR OF NEXT BYTE 
ADD BASE ADDRESS OF BLOCK 
DISPLACE BY ENTRY SI7F 
SET ADDRESS OF NEXT BYTE 
MOVE LINE 
IF NE GO AGAIN 

LINK NEW LAST TO OLD LAST 

SET NEW LAST 

SYNTAX ERROR 
FATAL-NO RETURN 



SCAN PARSED DIRECTIVE LIST FOR DUPLICATE NAME 



t 01001 
012701 



SDIRL: CALL tSCNL 

Bcr lot 

RETURN 

10l« MOV (PC)».R1 



; SCAN DIRfCTIvr LIST FOR A MATCH 
IF ft FOUND ONE -ERROR 

DUPLICATE NAME PEMNIIION 



•t** M I •••• 



MLSQO MACRO M110I 14-DEC-77 09i54 PAGE S-l 



MLSGO MACRO MHOS U-OEC-77 09:5A PAGE 3-8 



A57 

t\i 

A60 
A61 
A62 
A63 
A64 
A65 
466 
A67 
A68 
469 
470 
471 
472 
473 
474 
475 
476 
477 
478 
479 
480 
481 
482 
483 
484 
485 
486 
487 
488 
489 



001142 OOOG QOOG 
-1144 016702 OOOOOOG 
1150 



.BYTE ESR39,S$V2 ; FATAL -NO RETURN 
SDIRL1: MOV tLNDES.R2 ; GET ADDRESS OF LINE DESCRIPTOR 
SDIRL2: CALL iERMSG ; OUTPUT ERROR MESSAGE 



**-SCLSOD-CLOSE ODL FILE AND RESET GCML BLOCK 

INPUTS: 

GCMSA>INITIAL CONTENTS OF GCML IMPURE \H(i^ 

OUTPUTS: 

ODL FILE GCML BLOCK IS RESTORED TO IT.S INITIAL STATE. 
THE ODL FILE IS CLOSED. 

ALL REGISTER CONTENTS ARE PRESERVED. 



001154 

001154 

001160 

001170 

001174 012701 000000' 

001200 012702 000010 

001204 062700 000140 

001210 

001210 012120 

001212 

001?16 

000001 



ICLSOD: 



101: 



SAVVR 

RCMLS 

CLOSES 

MOV 

MOV 

ADD 

MOV 
SOB 
RETURN 

.END 



lODLPT 

RO 

«GCMSA,R1 

«G.1SI7/2,R2 

«S.FDB,RO 

(R1)».(R0)» 
R2J0i 



SAVE THE VOLATILE REGISTERS 
RESET GCML BLOCK 
CLOSE TOP LEVEL FILE 
GET ADDRESS OF SAVE AREA 
GET SIZE OF AREA IN WORDS 
POI^*T TO IMPURE AREA 

RESTORE IMPURE AREA 



••«• 



TTT 



•••• 





HLSGO MACRO Ml 108 
SYMBOL TABLE 



B.BBFS> 

B.BFST> 

B.NXBD* 

B.VBN > 

rH.AND> 

TR - 

CStACC* 

CStALO- 

CbtGBL- 

CSMEN* 

CStREL> 

CStTYP- 

06AS 

DBASE 

END 

Eimo « 

EM11 ■ 
E«R55 - 
EIR36 > 

E$ft37 ■ 
EMM - 

EtRS9 - 
EM^O ■ 
EtKAl • 
EMA2 ■ 

tut ' 

EM9 > 
EM9A > 

FA.APD- 

FA.CW- 

fA.OLr.- 

M.ENB- 

FA.EXC- 

FA.EXT- 

FA.NSP- 

FA.WS' 

FA.NO ■ 

FA.NWD- 

FA.SEQ- 

FA.SHR- 

FA.TPT- 

FA.WCR" 

FA.MT- 

FCTR 

FD.BLK> 

FO.CCL- 

. ABS. 



U-DEC-77 09:5* PAGE 3-9 



m 




EmNMS Of TEC TED I 



FD.COM" 
FD.CR » 
FD.DIR> 
FD.FTN- 
FD.F11« 
FD.INS> 
FD.ISP> 
FD.WIT* 
FD.OSP» 
FD.PLC« 
FD.PRN- 
FD.PSE> 
FD.RAH* 
; FD.RAN* 
FD.REC- 
FO.RUN- 
FD.SDl" 
FD.SQD' 
FD.TTY- 
FD.WiH* 

ff m 

FF. CHR> 
FF.NV « 
FF.POE- 
FF.RyO- 
FF.RWF> 
FF.SPC" 
FO.APO* 
FO.MFy- 
FO.RD " 
FO.UPD- 
FO.WRT- 
FILO ■ 
F.ACTL" 
F.ALOC* 
F.BBFS* 
F.BOB ■ 
F.BOBC- 
F.BKDN- 
F.BKDS- 
F.BKEF- 
F.BKPI- 
F.BKST> 
F.BKVB> 
F.CMR • 
F.CMTO" 





OOOOU 
000005 
000003 
000002 



000004 

1 




VIRTUAL 
1IC 









F.DFNB* 

F.DSPT« 

F.DVNN« 

F.EFBK> 

F.EFN « 

F.E0BB> 

F.ERR > 

F.FACC- 

F.FFBr« 

F.FNAM" 

F.FNB > 

F.FTVP- 

F.FVER" 

F.HIBK- 

F.LUN ■ 

F.MBCT- 

F.MBC1- 

F.MBF6- 

F.NBBO- 

F.NREC- 

F.CVBS- 

F.RACC* 

F.RATT" 

F.RCNM- 

F.RCTL" 

F.RSIZ- 

F.RTYP" 

F.SEON* 

F.SPDV" 

F.$PUN> 

F.STBK> 

F.UNIT- 

F.>JRBD> 

F.VBN ■ 

F.VBSZ* 

GCNSA 

Gf.BIF- 

GE.CLO- 

6E.C0M> 

GE.CON^' 

GE.eOF- 

Gf.JND^ 

GE.IOR- 

6E.LC ■ 

CE.MDE- 

GE.OPR- 




000116 
000120 
000004 
00004? 
000054 

000056 




74 



!rn WORDS ( n PAGES) 
i4 WORDS ( 60 PAGES) 

l«l$G0/-$Ptt31.103FIACFL«,FCSPR.«LSG0 



GE.RBG' 

GE.SIZ> 

G.CmD> 

G.DPRFI> 

G.ERR ' 

G.ISIZ- 

G.K)DE> 

G.PSDS> 

G.S1ZE> 

HT » 

LF 

LNG > 

N 

NAME 

NB.PEV- 

NB.DIR- 

NB.NAM> 

NB.SD1> 

NB.SD2> 

NB.SNM- 

NB.STP- 

NB.SVR- 

NB.TVP> 

NB.VER- 

N.DID ■ 

N.DVNM- 

N.FID ' 

N.FNAM< 

N.FTYP" 

N.FVER* 

N.NCXT- 

N.STAT> 

N.UNIT- 

PARttt- 

PSECT 

ROOT 

RISWTH- 

RttllN- 

R.FIX ■ 

R.SEO « 

R.VAR > 

SBAS 

SDIRL 

SDIRLI 

SDIRL2 

SEG1 



177730 
000040 
000146 
000160 
000140 

m 

000142 

000011 
000012 
000006 




001000 
000040 
000020 
000010 




oooooo 



061130R 

001 44R 
QQIIJQR 
001010R 



004 



SE62 

segS 

SGBAS 

SGSDES 

SGSDSK 

SGIGBL 

SGSMEM> 

SGSPHY 

SPA 

SWtCC 

SICTN 

StEGfi 

SIV2 

S.BFMD 

S.FATT 

S.FDB 

S.FNAM- 

S.FNB 

S.FNBW- 

S.FNTY 

5.FTVP 

S.NFEN 

TMP 

VT 

lALBLK 

tCLSOO 

IDIRHD 

SERMSG 

•INIPT 

tLNDES 

IMLSGO 

tODLPT 

SRP 

IRR 

IRTDIR 

SSAVVR 

tSCNL 

tSETfC 

I}"* 

.CLOSE 
.GlMLl 
.GCML2 
...GBL 
...IPC 



00111 OR 
00112?R 
0001 12R 
****** ^x 
****** GX 
****** GX 
****** GX 
****** GX 
000040 
****** GX 
****** GX 
****** GX 
****** GX 
000020 
000016 
000140 

06 

36 

17 

04 
000002 
000020 
000020R 
000013 
****** GX 
001154RG 
****** GX 
****** GX 
****** (iX 
****** GX 

000032RG 
***•«• GX 
****** GX 
****** GX 

GX 

****** GX 
****** GX 
****** GX 
****** GX 
000001 

****** Q 
****** Q 
****** G 



004 



•••• I f •«•• 




*••• ( 9 •••• 



MLSG1 MACRO Ml 108 U-OEC-77 09:54 PAGE 3 



1 

i 

3 

A 

5 

6 

7 

8 

9 

10 

11 

12 

13 

U 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

H 

29 

30 
31 



.TITLE MLSG1 
.lOENT /1 3/ 



COPYRIGHT 1975. DIGITAL EQUIPMENT COPP., MAYNARD, MASS. 

THIS SOFTWARE 15 FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTEf< SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECV TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 13 

D. N. CUTLER/C. MONIA 10-DEC-73 

MODIFICATIONS: 



.•♦*-1 

;**NEW** 
;**-1 



NO. 



033 
039 
0<' 
049 
052 
059 
062 



DATE 



07-JAN-75 
22-MAR-75 
21-OCT-75 
2f-FE8-76 
22-MAR-76 
58-APR-76 
20-MAY-76 



Pr^OGRAMMER 



C. MONIA 

C. MONIA 

C. MONIA 

C. MONIA 

C. MONIA 

C. MONIA 

C. MONIA 



;**NEW** 
;**NEW*« 
;**NEW** 
;*«NEW«* 
;**NEW** 
[♦>NEW** 



PARSE THE OVERLAY DESCRIPTION 
MACRO LIBRARY CALLS 

.MCALL CSItl 

LOCAL MACROS 

GENERATE OPERATOR TABLES 

GOPR OPR.VAL 

WHESE : 

OPR^OPERATOR CHARACTER. 
VAL'OPtRATOR VALUE. 



;*«NEW** 
.•••NEW** 



{••-1 



NLSG1 MACRO Ml 108 U-OEC-77 09: 5A PAGE 3-1 



73 000000 
7A 



78 000002 124375 077530 



.MACRO GOPR OPR.VAL 

.PSECT OJ^RL 

.ASCII /OPR/ 

.PSECT OVAL 

.BYTE VAL 
.PSECT 
.ENDM 



LOCAL DATA 

AUTOLOAD INDICATOR SEEN 

; 

AFL6: .BLKW 1 
AUTOLOAD ENTRY POINT NAME 

AUTO: .RAD50 /SAUTO/ 



85 000006 


133 


074 


000011 060 


071 


101 


OOOOU 132 


040 





92 000016 



000020 



000022 



11? 

112 




•m 



CONTROL BYTE STRING 
044 CNTRL: .ASCII /C<t09A; / 

LAST ITEM TYPE 
LITEM: .BLKW 1 

RESIDENCY OPERATOR SEEN 
RFLGi .BLKy 1 



; RESIDENCY OPERATOR SEEN IN STRUCTURE 

; 

RFLGO- .BLKW 1 | 

I 

• UPERATOA TAiLES 

.PSECT OPRL 



OlASi 



.PSECT OVAL 



; Ht LAIEL 



•••• I 9 **** 



rr 



HLSG1 MACRO mi08 U-OEC-77 09:54 PACE 3-2 



Ul 000000 
1U 000000 

115 000024 

116 000024 

117 000024 

118 000024 

119 (00024 
120 

121 'X)0006 

122 000006 
125 000024 



OPRV: 








; REF LABEL 


60PR 


V(/,LSPAR 




GOPR 


V)/.RSPAR 




60PR 


•/,/.CS0«A 




com 


V-/,D»ASH 




GOPR 


V*/.SfTAR 




60PR 


V!/.EIXCL 




.PSECT 


OPRL 


: REF LABEL 


.PSICT 







OBASL: 

: 

: TEMPORARV STORAGE 

« 

TMP: .BLKy S j 

•*-ML SGI -PARSE THE SEGMENT DESCRIPTION 



INPUTS: 



OVERLAY DESCRIPTION READ BY IMLSGO 



OUTPUTS: 



LINKED LIST OF ODL ITEM TYPES 

THIS ROUTINE IS CALLED BY WULSG TO PARSE THE 
OOL. THE INPUT. TAKEN FROM DYNAMIC STORAGE. CONSISTS OF 
EACH LINE IN THE DESCRIPTION WITH AN APPROPRIATE CODE 
IDENTIFYING THE ASSOCIATED OCL DIRECTIVE. THE PARSING PHASE 
RESULTS IN A LINKED LIST OF ITEMS LATER USED (BY IMUISG2) 
TO GENERATE THE SEGMENT DESCRIPTORS. 



177726 



MLSGI:: 

CLR AFL6 

CLR RFLO 

CLR RFLCO 

CLR lAlVL 

CLR tAFLG 

MOV «$I0S. LITEM 

MOV fioSTR.RO 

101: MOV ROTrI 

CLR (RO)* 

MPV R1.(R0)» 

CMP RO.«tOSTK*<NlPlV 

•LO ipi 

SV ?}PJT>C»?.R1 

V ftSOSOP.AO 

CLR (RO) 



CLCAR AUTOLOAD FLAG 

RESET RESIDENCY FLAG 

CLEAR STRUCTURE RESIDENCY FLAG 

CLEAR AUTOLOAD LEVEL COUNT 

CLEAR AUTOLOAD REQUIRED FLAG 

SET LAST ITEM TO SOS 

GET ADDRESS OF DESCRIPTION STACK 
COPY HEADER ADDRESS 
CLEAR LINK TO FIRST 
LAST POINTS TO FIRST INITIALLY 
•4> i END OF LIST? 

IF l6 no 

SET INITIAl DESCRIPTION STACK POINTER 
GET ADDRESS OF SOS ENTRY 
CLEAR LINK TO NEXT 



•#<«• f f •••• 



•^" 



1 



HLSG1 mew miOe U-OEC-r? 09:5^ PAGE 3-3 



170 000122 

171 0001 2A 

173 OWIi? 
7A 000136 

n ooouo 



1 



176 00014A 

77 000150 

78 0001 5A 
179 000156 

000160 



010033 
010043 

0127M OOOOOOG 
016700 OOOOOOG 

o;oo44 

01604iA OOOOOOG 

012705 000016' 
111502 
006202 
012701 000001 



IT 



MOV 
NOV 
MOV 
MOV 
MOV 
MOV 
G: CALL 
MOV 

Move 

ASR 

MOV 



.IF 



R0,a(R3)« 

R0.'-(R3) 

MTSTK.RA 

SRTDIR.RO 

R0,-(R4) 

NtXT(RO).-(R«> 

ITEM 

#LlTEMjR5 

(R5).R2 

R2 

fl.Rl 



1S5 000164 005302 

86 000166 002402 

1(7 000170 006301 

1000172 000774 

) 000174 

90 



10$: 
20S: 



)1 000174 116002 OOOOOOG 

}2 000200 030162 OOOOOOG 

)S 000204 001523 

000206 000172 000210' 




DEC 
BLT 
ASL 
BR 



.ENDC 

.IF 
ASH 
.ENOC 



MOVB 
BIT 
BCQ 
JMP 



NDF 

R2 

20t 

R1 

lot 



DF 
R2.R1 



V1145 



V1U5 



TIVP(R0).R2 
R1.tCBAS(R2> 
ITMCM1 
•40I-2(R2> 



CURRENT ITEM DISPATCH VECTOR 



40t: 



.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 



ITMEOS 

ITMLPR 

ITMRPR 

ITMCM 

ITM0P1 

ITMSTR 

ITMEKC 

ITMOPA 

ITMOTA 

ITMOPA 



022705 0000020 



; 

; COWM 

t 

IIMCM! 



CMP 



fft0STK*2.R3 



LINK NEW LAST TO OLD LAST 
SET NEW LAST 

GET ADDRESS OF TEXT STACK 

GET POINTER TO ROOT SEGMENT DIRECTIVE 
SET ADDRESS OF ROOT DIRECTIVE ENTRY 

SET ADDRESS OF ROOT DIRECTIVE ENTRY 
GET NEXT ITEM 
GET ADDRESS OF LAST ITEM 
GET LAST ITEM TYPE 
CONVERT TO SHIFT COUNT 
SET INITIAL MASK WORD 



.'DECREMENT SHIFT COUNT 
;IF LT DONE 
; SHIFT MASK 



;REF LABEL 



; SHIFT MASK 



; GET CURRENT ITEM TYPE 
.- LEGAL CONSTRUCTION? 
;|F FQ NO 
.•DISPATCH ON CURRENT ITEM 



;E4S 

.•L"»AR 

;R^AR 

; GUMMA 

;DASH 

; STAR 

; EXCLAMATION POINT 

;SCTN 

iSEGN 

;FlLE 



AT ZERO PARENTHESES LEVEL 



•••• 



TT 



•*•• 



m »At 



MAfAnMiinA ii..Mr.y7 oo.^a niAt 1>A 



HLSG1 HACRO mi08 U-OEC-77 09:54 PAGE 5-4 



227 000242 
229 000244 

0002 



001125 

016767 177552 177546 

005067 177544 

000517 



BNE 


ITM0P1 


NOV 


RFLGCRFLG 


CLR 


RFLGO 


W 


ITM0P1 



IF NE NO 

COPY RESIDENCY FLAG 

RESET RESIDENCY FLAG FOR STRUCTURE 



EXCL-EXCLANATION POINT 



000260 
000260 

238 000264 

239 000266 

240 000272 

241 000274 

242 000274 

243 000302 

244 000310 

245 000312 

246 000320 

247 000322 

248 000330 
249 

I 

}54 000332 
[55 000336 

^56 000340 

" 000544 

000346 

)152 

)354 



020327 
001403 
105767 
002070 

012767 
032767 
001515 
032767 
001111 
012767 
000505 



000002G 
177526 



ITWXC: 



OOOOOOG 177520 
OOOOOOC OOOOOOG 

OOOOOOG OOOOOOG 

000002G OOOOOOG 



10t: 




005767 OOOOOOG 

001005 

005767 177454 

001402 

005267 OOOOOOG 

020327 OOOOOOC 

105016 

122715 OOOOOOG 

001002 

011560 OOOOOOG 

122715 OOOOOOG 

152760 OOOUOOG 000001 G 

mi ^^^ 



012701 
000 WT 



OOOG 



OOOOOOG 



CHP R5.nDSTK»2 

BEQ lOi 

TSTB RFLG ', 

BGE ITMCM1 

NOV fRStFLG.RFLGO 

BIT «l«>tSY,lSWTCH 

BEQ irN0P2 

BIT mSlOV.tSWTCN 

BNE I TN0P2 

NOV «SSZSEGt2.tSZSEr,' 

BR irN0P2 



LPAR-LEFT PARENTHESIS 



ITNLPR: 



%; 



501) 



TST 

BNE 

TST 

BEQ 

INC 

CNP 

CNP 

BHIS 

CNPB 

BNE 

NOV 



tALVL 

101 

AFLG 

20$ 

lALVL 

(R5)*,(R5)» 



AT ZERO PARENTHESES LEVEL 
IF EQ YES 

LEGAL SYNTAX? 
IF GE NO 

SET RESIDENCY FLAG FOR THIS STRUCTURE 
TARGET SYSTEN NAPPED? 
IF EQ NO 

RECOGNIZING RESIDENT OVERLAYS? 
IF NE NO 
; SET SIZE OF SEGMENT DESCRIPTORS 
SET LAST I TEN TYPE 



; AUTOLOAD ENTRY NONZERO 

;IF NE YES 

; PREVIOUS OPERATOR STAR? 

; IF EQ NO 

; INCENENT AUTOLOAD LEVEL 

; ADVANCE STACK LEVEL 



R5.*WSTK«<N»PLVL*4> ; STACK OVERFLOW? 



4di 

«LIPAR.(R5) 

50t 

(R5).TlYP(R0> 



IF HIS YES 

PREVIOUS I TEN LEFT PAREN.? 

IF NE NO 

COPY I TEN TYPE 



40ti 



CF 

8NE 

3ISB 

CLR 
BR 

NOV 

.BYTE 

BR 



«ESXCL,(R5) ■ PREVIOUS ITEN EXCLAMATION POINT? 

ITNOPI ' IF NE NO 

tRSfFLG,TlYPO(R6) ; SET RESIDENCY FLAG IN ITEN 

RFLG ; CLEAR RESIDENCY FlAG 

ITNOPI 



(PC)».Rt 

EM45.SIV2 

ITNES> 



;T00 NANY PARENTHESIS LEVELS 
; FATAL -NO RETURN 



RPAR-RIGNT PARENTHESIS 



NOV 

7?? 

BIQ 



R0.8(R5>* 
R0.-(R3) 



;LINK ITCN TO CURRENT LIST 

; AUTOLOAD IfVEl NON-ZERO? 
;ir EQ NO 



•••• N f •••• 



■im aAfio wnoi u-atf.y7 09:54 pagf s-s 



»*.SG1 I^ACRO miM U-DEC-77 09:54 PAGE 5-5 



2M 00(K56 

2S5 000442 

286 000444 

217 000450 

2M 000452 

289 

290 

291 

292 

293 

294 000454 

295 000456 

296 000460 
297 

298 
299 
300 
301 

302 000462 

303 000462 

304 000466 

305 000472 

306 000474 

307 000476 

308 000502 

309 000502 

310 000504 

311 000510 

312 0005U 



005367 OOOOOOG 

024343 

020327 000002G 

000463 



012701 

OOOG 
000462 



JOOG 



012702 
122725 
001003 
111512 
142712 

005305 
151260 
005767 
001003 
005767 
001404 
005260 
010667 
010033 

mi) 

016015 
042715 
000167 



000020* 
OOOOOOG 



000177 



000001Q 
177264 

OOOOOOG 

OOOOOOG 
OOOOOOG 



177234 
OOOOOOG 



)560 

?>60 122715 OOOOOOG 

.. - ''«i| $00001 

g76 142712 000177 



101: 



DEC 

C«P 

CMP 

BHIS 

BR 



SALVL 

-(W).-(R3) 

R3.#$0STK»2 

ITM0P2 

ITMESI 



SYNTAX ERROR EXIT 



ITBCMI: 



MOV 

.BYTE 

BR 



(PC)».R1 

EtR37.SSV2 

ITMES2 



SCTN/SEGN/F RE-OPERAND 



ITMOPA: 



101: 



ITM0P1: 
ITMOPO; 
ITM0P8: 



ITMOP?^ 



MOV #RFLG,R2 

CMPB «LSPAR.(R))* 

BNE 10$ 

M0V8 (R5),(R^) 

BICB #177. (R2) 

DEC R5 

BISa (R2).TtyP«1(R0) 

TST AFLC 

BNE ITMOPO 

TST lALVL 

BEQ I TM0P3 

INC TIVP(RO) 

MOV SP.SAFLG 

MOV R0,a<R3)* 

MOV RO.-(RS) 

CLR AFLG 

MOV T|yP(R0).(R5) 

BIC «1,(R5) 

JMP I TMBEG 



; STAR-ASTERISK 

* 

ITMSTRi 

CMPB 

BNE 

MOV 

MOVB 

BICB 



lOlt 



MOV 

m 



*LftPAR,(RS) 
10S 

fRHG.R? 
1(R5).(R2) 
#177. <R2) 



DECREMENT AUTOLOAD LEVEL 
REDUCE STACK LEVEL 

LEVEL OK? 
If HIS YES 



SYNTAX ERROR 
FATAL -NO RETURN 



♦ ♦021 

GET ADDRESS OF RESIDENCY FLAG 
PREVIOUS ITEM LEFT PAREN.? 
IF NE NO 

COPY RESIDENCY FLAG 
CLEAR ALL BUT FLAG 

RESET TYPE POINTER 

SET RESIDENCY INDICATOR 

TEST AUTOLOAD FLAG 

IF EQ ITEM AUTOLOADABLE 

AUTOLOAD LEVEL N0N-7ER0? 

IF EQ NO 

SET AUTOLOAD BIT IN ITEM 
SET AUTOLOAD FLAG 

LINK ITEM TO CURRENT LIST 

CLEAR THE AUTOLOAD FLAG 

SET LAST ITEM TYPE 

CLEAR POSSIBLE AUTOLOAD FLAG 



PREVIOUS ITEM LEFT PAREN? 

IF NE NO 

POINT TO RESIDENCY FLAG 

COPY FLAGS 

CLEAR ALl BUT RESIDENCY FLAG 

SET AUTOLOAD FLAG 



•#•• I f •••• 



%&1 MAtMMIIOI U-D»C-77 09t54 PAGE S-6 



1 



I«.SG1 NACR0M1108 U-DEC-TT 09:5A PAGE 3-6 



3«1 
V.2 
3A3 
3AA 000610 

345 000612 

346 0006U 

347 000620 

348 000622 

349 000624 

350 000626 

351 000632 

352 000632 
353 

354 
355 
356 
357 
358 
359 
360 

361 000634 

362 000634 

363 000636 

364 000640 

365 000644 

366 000646 

368 000654 

369 000656 

370 000660 
" 000662 

' 000664 



EOS-ENO OF STATEMENT 



010033 

010043 

020327 000002G 

001404 

012701 

OOOG OOOG 
000167 001022 



ITMEOS: 



ITNES1: 

ITMES2: 
ITMES3: 



NOV 
MOV 
CMP 
BEQ 

mv 

.BYTE 
JMP 

RETURN 



R0.a(R3)t 

R0.-(R3) 

R3.«SDSTK«2 

ITMES3 

(PC)*.R1 

ESR46.SSV2 

FILNK 



LINK ITEM TO CURRENT LIST 

ZERO PARENTHESIS LEVEL 

IF EQ YES 
UNBALANCED PARENTHESIS 
FATAL -NO RETURN 



SUBROUTINE TO BYPASS LEADING OR TRAILING BLANKS AND HT'S 



105710 

001403 

122710 000073 

001006 

020427 177774G 

103003 

022424 

011400 

000765 

010014 



BYPASS: 



»i 



lot: 



TSTB 

BEQ 

CMP6 

BNE 

CMP 

BHIS 

CMP 

MOV 

BR 

MOV 

RETURN 



(RO) 
51 

#';.(R0) 

lOi 

R4,#tTSTK-4 

101 

(R4)S(R4)« 

(R4),R0 

BYPASS 

R0.(R4) 



♦ ♦033 

TERMINAL ZERO? 
IF EQ YES 

COMMENT TERMINATOR? 
IF NE NO 
ANY TO UNSTACK? 
IF HIS NO 

REMOVE ENTRY FROM TEXT STACK 
GET ADDRESS OF NEXT BYTE 
GO AGAIN 
SAVE ADDRESS OF NEXT BYTE 



.•••NEW** 
,•••-1 



SUBROUTINE TO GET NEXT ITEM FROM SEGMENT DESCRIPTION 
INPUTS: 

R4>ADDRESS OF TOP OF TEXT POINTER STACK. 
OUTPUTS: 



RO*ADDRESS OF NEXT ITEM. 



, 000666 

7 00067? _ 

000676 001471 

" )700 122774 



012700 OOOOOOG 
105774 000000 



ITEM) 




J?5 000716 122111 



12^110 




000073 000000 



000006' 



724 001457 
26 122110 



MOV 

TSTB 

BEQ 

CMPB 

BEQ 

MOV 

MOV 

CMPB 

BEQ 

CMpfl 

BEQ 
CMPB 



«tEOSOP,R0 

•(R4) 

40t 

«':.I(R4) 

40i 

(R4),R0 

tCNTRl.RI 

(R1)*.(R0) 

50t 

(R1)».<R0> 

)0t 

(RI)^.(RO) 



ASSUME FOS 
END OF SEGMENT DESCRIPTION? 
IF EQ YES 

COMMENT ALSO ENDS DESCRIPTION 
IF EQ COMMENT TERMINATION 
GET ADDRESS OF NEXt BYTE 
GET ADDRESS OF CONTROL BYTE STRING 
LEFT BRACKET? 
IF EQ YES 

LEFT ANGLE BRACKET? 
IF EQ YES 
'V? 



•t** 



TT 



**•• 



»*G1 MACRO M1108 U-DEC-r7 09;S4 PA6fS-7 



1 



NLSGl l«IACRO mi08 U-OEC-77 09:54 PAGE 3-7 



398 

399 

400 

401 

402 

403 

404 

405 

406 

407 

40S 

409 

4t0 

411 

412 

413 

414 

415 

416 

417 

418 

419 

420 

421 

422 

423 

424 

425 



000730 
000732 
000734 
000736 
000740 
000742 
000744 
000746 
000750 



000752 
000756 
000760 
000764 
000766 
000772 
000774 
000776 
001002 
001006 
001012 
001020 
001022 
001026 

426 001034 

427 001036 

428 001042 

429 001046 
' 001054 

001062 



001064 
001070 
001072 
001076 
001100 
001102 

0011U 
001116 

)11^2 

'1 
)11 

'^ 

Ml 
45t' 001 140 
4}? 00114^ 
454 001144 



001455 
122110 
101006 
122110 
103051 
122110 
101002 
121110 
103045 



012705 000006 
112001 

120165 yimi* 

001406 

012701 

OOOG OOOG 

000167 000652 

012700 0000000 

126527 M7777' OOOOOOG 

001420 

012700 OOOOOOG 
126527 \77777' OOOOOOG 
001412 

012701 000004 

012760 002000 OOOOOOG 

116560 \77777* OOOOOOG 



BEQ 


50S 


cMPe 


(R1)*.(R0) 


BHl 


10$ 


CMPB 


(R1)«.(R0) 


BHIS 


50t 


CMPe 


(R1)».(R0) 


BHI 


10$ 


CNPB 


(R1>,(R0) 


BHIS 


50$ 



;IF EO YES 
.'POSSIBLY NUMERIC? 
;IF HI NO 
.'NUMERIC? 
.'IF HIS YES 
.'POSSIBLY ALPHABETIC? 
;IF HI NO 
.'ALPHABETIC? 
.'IF HIS YES 



OPERATOR PROCESSING 



10$: 
20$: 



30$: 



40$: 



MOV 

MOVB 

CMPB 

BEQ 

SOB 

MOV 

.BYTE 

JMP 

CALL 

MOV 

CMPB 

BEQ 

MOV 

CMPB 

BEQ 

MOV 

CALL 

MOV 

MOVB 

RETURN 



»aeASE-0BAS,R5 

(R0)*.R1 

R1,0BAS-1(R5) 

30i 

R5.20$ 

(PC)*.R1 

E$R4S.S$V2 

FILNM2 

BYPASS 

t$EXCL.RO 

0PRV-1(R5),#E$XCL 

40$ 

«$STAR.RO ; 

0PRV-1(R5),#S$TAR 

40$ 

«4.R1 

ULBLK 

4'4*400.rSYP(R0) 



.'GET NUMBER OF OPERATORS 

;GE^ NEXT BYTE 

.'OPERATOR NATCH? 

;IF EO YES 

; REPEAT 

.•ILLEGAL OPERATOR 

.'FATAL -NO RETURN 



.'BYPASS TRAILING BLANKS AND HT'S 

GET EXCLAMATION POINT ENTRY 

; EXCLAMATION POINT? 

IF EO YES 

ASSUME ASTERISK OPERATOR 

; AUTOLOAD OPERATOR? 
; IF EO YES 

.'GET SIZE OF BLOCK NEEDED 
;ALlOCATf STORAGE 

SET SIZE OF FNiRY 



OPRV-1(R5).T$YP(R0) ; SET TYPE Of ENTRY 



OPERAND PROCESSING 



012705 000024 • 
010046 



501 1 




005500 
024545 
122710 000072 

1?271Q 000056 
001457 

12^710 000133 
001454 

«;? 



000074 



710 000057 
«.6 



01000. 



000007 



MOV 
MOV 
CALL 

% 

CMPB 

BEQ 

CMPO 

BEQ 

CMPB 

BEQ 

CMPB 

BCO 

CMPB 

KO 

MOV 

SUB 

CMP 



«TMP.R5 
RO.-<SP) 

$rA 

RO 

-(R5),-(R5) 

#':.(R0) 

FRNM 

**.,(R0> 

#'t.(R0) 

FIINM 

#'<,(R0) 

nim 

fV.(RO) 
FILNM 
RO.RI 
<$^).R1 

n\,a7 



;GE1 ADDRESS OF TCMP STQRAGE 

;SAVE ADDRESS FOR POSSIBLE RE SCAN 

.'CONVERT OPERAND NAME 

.'BACK UP TO TERMINATOR 

.POINT TO NM« 

;C010N TERMINATOR? 

;If fO YfS-FlLE 

.'PERIOD TERMINATOR? 

.IF EO YES-FILE 

.'LEFT BRACKET TERMINATORS 

;|F EO YES-FlLf 

{LEFT ANGLE BRACKET TERMINATOR? 

jIF EO YES-FILI 

; SLASH? 

;IF EQ YFS-MLE 

;C0PY App»fs«: n» NfKT avTf 

.'CALCULATE lENGTH Of NAMf 
;POSSIBLt DIREdlVt OR LABtL? 



•••• K 



• *•• 



ML 501 MACRO Ml 108 U-^rf-'7 0914 PACfVB 



WI.SG1 MACRO M1108 U-DEC-77 09:5A PAGE 3-8 



A55 001150 
A56 001152 
A57 001156 
A58 001160 
<i59 001162 
A60 001166 
A61 001172 
*62 001 17A 
A63 001176 
A*'. 001202 

465 001204 

466 001210 

467 001212 

468 001214 

469 001216 

470 001220 

471 001224 

472 001226 

473 001232 

474 001234 

475 001236 

476 001242 

477 001244 

478 001246 

479 001250 
480 

481 
482 
483 
484 

485 001254 

486 001256 

487 001262 

488 001264 

489 001266 

490 001270 

491 001274 

492 001276 

493 001502 

494 001)04 

495 001510 

496 001512 

497 001316 

498 001520 



103041 

103436 
005726 

105761 OOOOOOv: 

001415 

010146 

116101 000001 G 

010146 

010001 
012605 
012602 
112221 



020427 OOOOOOC 

101404 

010144 

016144 OOOOOOG 

000611 

012701 

OOOG OOOG 
000167 HOO 



60t: 
701: 

80$ I 



BHIS 

CALL 

BCS 

TST 

CALL 

TSTB 

BEQ 

MOV 

MOVB 

MOV 

CALL 

MOV 

MOV 

MOV 

MOVB 

SOB 

RETURN 

CMP 

bLOS 

MOV 

MOV 

BR 

MOV 

.BYTE 

JMP 



FILNM .-IF HIS NO 

tSCNL ; SCAN DIRECTIVE IIST FOR MATCH 

FILNM ;IF CS NO FIND Ell-FILE 

(SP)» .-CLEAN STACK 

BYPASS .-BYPASS TRAILING BLANKS AND HT'S 

T$YP(R1) ; FACTOR DIRECTIVE 

701 .-IF EQ YES 

RI.-(SP) .-SAVE ADDRESS OF ENTRY 

TlYPtURD.RI ; GET SIZE OF ENTRY 

RI.-(SP) ,-SAVE SIZE OF ENTRY 

SALBLK .-ALLOCATE STORAGE 

R0.R1 .-COPY ADDRESS OF BLOCK 

(SP)t,R5 .-RETRIEVE SIZE OF ENTRY 

(SP)*.R2 ;RETRIEVE ADDRESS OF ENTRY 

(R2)*.(R1)* .-COPY ENTRY 

R5.60i .REPEAT 



R4,*ITSTK-<NSSLVL*4> .- ANY MORE ROOM ON TEXT STACK ? 
.-IF LOS NO 
.-STACK ENTRY ADDRESS 

.- STACK ADDRESS OF NEXT BYTE 
;G0 AGAIN 

;T00 MANY NESTED .SEG/.ROOT DIRECTIVES 
; FATAL -NO RETURN 

; 



80i 

R1,-(R4) 

NIXT(R1).-(R4) 

ITEM 

(PC)».R1 

EftR44.SSV2 

FILNM2 



FILE OPERAND PROCESSING 




012600 
012705 
005046 
105710 
001434 
122710 
001431 
122710 
001426 
122710 
001425 
122710 
001420 
005716 

00U13 
005216 
1?2710 
" 1405 
551 
27} 

k 



OOOOOOr, 

0^30055 
000051 
000050 
000052 

000054 
0001 55 
000155 



FILNM: 



101) 



ISli 



ITIi 



MOV 

MOV 

CLR 

TSTB 

BEQ 

CMPB 

BEQ 

CMPB 

BEQ 

CMPB 

BEQ 

CMPB 

SI 

CMPB 
BIQ 
INC 
CMPB 

cMr« 

BNF 

DJf 
MOVB 



<SP)».RO 

#tLNBUF.R5 

-(SP) 

(RO) 

20t 

#'-.(R0) 

20t 

#').(R0) 

20t 

#'(.(R0) 

20t 

*'».(R0) 

20t 

!S' 

*'..(R0) 

20i 

(SP) 

*'t.(R0) 

171 

(SP) 

d'^J.tRO) 

17$ 

(SP) 

(np)».(R5)» 

10$ 

(SP)* 



;RETR|EVE ADDRESS OF 
;GET ADDRESS OF LINE 
.•CLEAR BRACKET COUNT 
;ZFRO BYTE? 
!IF EQ YES 



Nk'XT BYTI: 
BUFFER 



FOR RE SCAN 



;DASH? 

;IF EQ 

;RIGHT 

;IF EQ 

;*»059 

I ♦♦039 

[♦♦059 

i^^059 

;IN 

lIF 



YES 

PARENTHESIS? 

YES 

LEFT PARENTHESES 

IF EQ YES 

ASTERISK? 

IF EQ YES 
BRACKETS? 
NE YES 



; COMMA? 
.'If EQ YFS 

.'ASSUME LkFT BRACKET 
;Lffl BRACKET? 
•If fO YfS 
.•DECREMENT BRACKET 
.'RIGHT BRACKET? 
;n NE NO 

;DECREMINT BRACKET 
.•MOVE BYTE TO I INE 
.•CONTINUf SCAN 
.•BAlANCtD BRACKETS? 



COUNT 



COUNT 
Bun ( R 



•••• I 9 •••• 



MLS01 MACRO M1108 U-Dc C-77 09i54 PAGE 5-9 



NLSG1 HACRO Ml 108 U-DcC-77 09:54 PAGE 3-9 



512 001362 

513 00136A 
5U 001570 

515 001 37A 

516 OOUOO 

517 00U04 

518 00U22 

519 0OU2A 
^20 00U26 

521 OOU32 

522 00U36 

523 00U40 
52A OOUU 

525 0OUA6 

526 0OU52 

527 00U56 

528 OOU60 

529 00U64 

530 00U7Q 
551 00U72 
532 0OU76 
535 001502 
S5A 001506 

555 0015U 

556 001516 

557 00152* 
558 



559 



001524 
001550 

540 001554 

541 001540 

542 001542 
545 001544 

544 001546 

545 001552 

546 001t>60 

547 001562 

548 001566 

549 001570 

550 001574 

551 001602 

\\\ M 

lit '»'"* 



001152 

012701 

162705 

105512 
010005 

016700 
010501 

105501 

012701 
105476 
012700 
012701 
010502 

016700 
016046 
052760 
001405 
012760 



012660 
016002 
012701 

OOOG 
105460 

052760 
001410 
005767 
001050 
010167 
016760 



OOOOOOG 
OOOOOOG 

OOOOOOG 

OOOOOOC 

OOOOOOG 
OOOOOOG 



OOOOOCG 
000046 
OOOOOOG OOOOOOG 

OOOOOOG 0000^ 



30$: 



000046 
OOOOOOG 

OOOG 




OOOOOOG OOOOOOG 

OOOOOOG 

OOOOOOG 
OOOOOOG OOOOOOG 

OOOOOOG OOOOOOG 
000006 



351: 



401 1 



BNE 

CALL 

MOV 

CALL 

SUB 

CS1S1 

BCS 

MOV 

CALL 

MOV 

MOV 

CALL 

BCS 

CALL 

MOV 

BCS 

MOV 

MOV 

MOV 

CALL 

MQ 

MOV 



40S 

LVPASS 

«TSMSIZ,R1 

SALBLK 

nLNBUF ,R5 

R0.nLNBUF,R5 

R0.R5 

SCLRMN 

$INIPT,RO 

R5,R1 

SSCANO 

401 

SBLMNT 



'IF NE NO 

•BYPASS TRAILING BLANKS AND HT'S 

;GET SIZE OF CSI BLOCK 

; ALLOCATE CSI BLOCK 

.'CALCULATE LENGTH OF LINE SEGMENT 

; ANALYZE SYNTAX 

;IF CS SYNTAX ERROR 

;SAVE ADDRESS OF CSI BLOCK 

; INITIALIZE SWITCH VALUE LIST 

; GET INPUT FILE RECORD BLOCK 

;SET ADDRESS OF CSI BLOCK 

.'SCAN FOR OUTPUT FILE 

;IF CS SYNTAX ERROR 
— .-i »« ,-•■ ^yiLD NODULE NAME LIST IF LIBRARY FILE 
«<SSV2*400!ESR78>.R1 ; ASSUME ERROR 
FILNM2 ; IF C/S INCORRECT MODULE SPECIFICATION 
•IFRHD.RO ;GET ADDRESS OF FREE SPACE POOL LISTHEAD 
»TSMSIZ,R1 ;GET SIZE OF BLOCK TO RELEASE 
R5.R2 ;SET ADDRESS OF BLOCK TO RELEASE 
SRLCB :RELEASE BLOCK 

IINIPT.RO ; GET INPUT FILE RECORD BLOCK POINTER 
F.DFNB(RO),-(SP) ; SAVE POINTER TO NAMEBLOCK 
«SWlLB,RISWTH(RO) ; LIBRARY FILE? 
30S : IF EQ NO 

»ILIBNB,F.DFNB(R6) ; REPLACE DEFAULT NAME BLOCK 



SPRFND 

(SP)»,F.DFNB(RO) 

RINAME(R0),R2 

(PC)».R1 

EIR57.SIV2 

FILNM5 

tALELD : 

«SWtDL,ElLSWT(RO) 

551 ; 

SLIBfM 

40» 

Rl.tLlBNM : 

tLaSWT.EtLSWT(RO) 



PAf»SE/fIi« FILE 

; RESTORE DEFAULT NAMEBLOCK POINTER 

GET ADDRESS OF NAME STRING 

ASSUME PARSE/FIND FAILURE 

FATAL -NO RETURN 

IF CS PARSE/FIND FAILURE 

ALLOCATE ELEMENT DESCRIPTOR 

; DEFAULT LIBRARY SPECIFIED? 

IF EQ NO 

PREVIOUS DEFAULT SPECIFIED? 

If NE YES. SYNTAX ERROR 

SET DEFAULT LIBRARY 

; SET LIBRARY FILE SWITCH WORD 



tLBMOD.ElLIDTt2(ftO) ; SET IN ADDRESS OF MODULE NAME LIST 
tlNIPT.R^ ; GET ADDRESS OF RECORD BLOCK POINTER 

; RESET SWITCH WORD 

SAVE VIRTUAL ADDRESS Of DESCRIPTOR 

GET LENGTH Of BLOCK fOR ITEM 

ALLOCATE COR( BLOCK 

COPY ADDRESS Of BLOCK 

. POINT TO TYPE/SIZE 

t<6*400!FllLE>.(N1)» ; SET TYPE/SIZE 

<SP)».(R1)t ; SET VIRTUAI ADDRESS OF FLEMTNT DESCR. 



lDFINP.RisWTH(R2i 

RI.-(SP) 

«6.R1 ; 

tALBLK 

RO.RI ; 

(Rl)* 



(PC)».R1 



; SYNTAX ERROR 
-r^,..H'l\ ;fATAL-NO RETURN 

niNDfS.R? ;GET ADDRESS OF LINE DESCRIPTOR 

i'(R4',R0 ;GET ADDRESS Of PARSfD OIRFCTIVE 

T$YP*I(R0).(R2)* ; GET SIZE OF ENTRVHINf 
(«?)♦ J CLtAR TOP BYTE Of COUNT WORD 



t|«??iSIVj 



t*** H 9 ••«• 



Ml«;fi1 MACRO M1108 U-Drf-77 09t54 PACEJ-10 



MLSG1 MACRO MHOS U-DEC-77 09:5A PAGE 3-10 

569 001672 1627A2 000013 SUI #11. .-(R2) ; SUBTRACT OUT SIZE OF ENTRr 

570 001676 062700 000002G ADD «NSXTt2,R0 ; CALCULATE ADDRESS OF LINE 

571 001702 010062 000002 MOV R0.2(R2) ;SET ADDRESS OF LINE 

572 001706 F1LNM3: CALL lERMSG .-OUTPUT ERROR MESSAGE 
575 

57A 000001 .END 



•••• N f **•• 



M.SG1 MACRO nriOB 
SYMBOL TABLE 

AFLG OOOOOOR 
AUTO 000002R 
BYPASS 00Q6)4R 
B.BBFSs 000010 
B.BFSTe 000015 
B.NXBD- 000012 
B.VBN > 000004 
CH.AND> 000001 
CNTRL 000006R 
CR » 000015 
CS.DIF" 000002 
CS.DVF- 000004 
CS.EQU> 000040 
CS.1NF>> 000001 
CS.MOR- 000020 
CS.NMF> 000001 
CS.QUT- 000002 

cs.yLO- 000010 

CtOMA - •••♦•• GX 
C.CMLD- 0QO0O2 
C.OEVD" 

C.DIRO- 000012 
C.DSO$« '^'' 
C.FILD> 000016 
C.MKW.- 000024 
C.MKy2> 000026 
C.SIZE- 000054 
C.STAT- 000001 
C.SWAO- 
C.TYPR" 
OtASH « •••••• CX 

flLIOT" •••••• GX 

EfLSWT- •••♦•• GX 

eWlAS ■ •••••♦ GX 

EIM44 ■ ••••♦• GX 

E$R45 ■ •••••♦ GX 

EIII46 ■ ••*♦•• GX 
E|H57 ' •••••• GX 

EMrS • •••«•• GX 

EixCL • •••••• GX 

FA.An>> 0001C 

FA.CRE- 
FA.DIK- 
FA.ENI- 
FA.EXC" 
FA.EXT> 
FA.NSP- 
FA. PCS' 
FA.RO > 
FA.RWD- 
FA.SEO- 



AiS. 



14-0EC-77 09:54 PAGE 3-11 





FA.SHRs 
FA.TMP" 
FA.WCK* 
FA.WRT* 
FD.BLK- 
FO.CCL» 
FD.C0M« 
FD.CR *■ 
FD.DIR- 
FD.FTN« 
FD.F11» 
FD.INS" 
F0.I5P" 
FO.'t^ff" 
FD.OiP- 

fr> «.:■ 

F'.' RAM- 
'S;. HMN> 
'^O.REC- 
FO.RWM- 
FD.SOl- 
FD.SQD- 
FOTTV- 
FD.yBN- 

rr ■ 

FF. CHU- 
FF. NV - 
FF.POE- 
FF.RWO- 
KF.RWF* 
FF.SPC- 
FRNM 
FILNM2 
FILMIS 
FO.APO- 
FO.MFV- 
FO.RD ■ 
FO.UPO" 
FO.WRT- 
FIRE > 
F.ACTL- 
F.AIOC- 

{.»': 

F.BQiC- 
F.IKDN- 
F.MpS- 
F.IK|F- 

F.MPI- 
F.KST- 





000006 





F.BKVBs 

F.CHR « 

F.CNTG- 

F.DF^B> 

F.DSPT- 

F.DVNM- 

F.EFBK- 

F.EFN > 

F.EOBB- 

F.ERR « 

F.FACC- 

F.FFBY- 

F.5NAM- 

F.FNB > 

F.FTYP- 

F.?VER- 

F.NIBK- 

F.LUN ■ 

F.MBCT- 

F.NBC1- 

F.MBFG- 

F.NRBO- 

F.NREC- 

F.OVBS- 

F.RACC- 

F.RATT- 

F.RCNM- 

F.RCTL- 

F.RSIZ- 

F.RTYP- 

F.SEQN* 

F.SPOV- 

F.SPUN" 

F.STBK* 

F.UNIT- 

F.URBO- 

F.VON > 

F.VBS;- 

MT • 

ITEM 

ITMMG 

ITMCM 

ITMCMI 

ITMEOS 

m 

ITMESS 
ITMIXt 
ITMLPR 
ITMOPA 
ITMOPO 




ITM0P1 

ITM0P2 

ITH0P3 

ITMRPR 

ITMSTR 

LF 

LITEM 

LIPAR > 

MPtSY « 

NB.DEV- 

NB.DIR- 

NB.NAM- 

NB.SD1- 

NB.SD2> 

NB.SNM- 

NB.STP- 

NB.SVR- 

N8.TYP- 

NB.VER- 

NtPLVL- 

NtSLVL- 

NtXT ■ 

N.OID > 

N.DVNM- 

N.FID - 

N.FNAM- 

N.FTYP- 

N.FVER- 

N.NEXT- 

N.STAT- 

N.UNIT- 

OtAS 

DBASE 

OPRV 

PARltt- 

RFLG 

RFLGO 

RSIFLG- 

RSIOV - 

RINAME- 

RIPAR > 

RISWTH- 

RII11M- 

R.FIX • 

R.SEQ « 

R.VAR > 

SPA > 

SWtOL 

Ifti' 

StTAR 



n6R 

S44R 
Q00S34R 
000424R 

000016R 

«***•* 

000200 
000100 
000004 
000400 
001000 
000040 
000020 
000010 
000002 
000001 



GX 
GX 




_JR 
I22R 
*•***• GX 
•••••• GX 

•••*•* GX 
••*•** GX 
****** GX 




■ ****** GX 



•**•«* GX 
•••*«• GX 
••**•• GX 



S1V2 « ♦**••♦ GX 
SSZSEG- •••••• GX 

S.BFHD- 000020 
S.FATT- OOOOIf 
S.FDB > 000140 
S.FNAM- 000006 
S.FNB > 000036 
S.FNBW> 000017 
S.FNTY- 000004 
S.FTYP- 000002 
S.NFEN- 000020 
TMP 000024R 
TSMSIZ- ••*••• GX 
TIYP a ****** GX 
VT « 000013 
lAFLG - ****** GX 
lALBLX- •••••♦ GX 

tALELD- ****** GX 
•ALVL - ****** GX 
IBLMNT- ****** GX 
ICBA5 ■ ****** GX 
fCLRMN- ****** GX 
lOFINP- ****** GX 
lOSTK - ****** GX 
$C0S0P- ****** GX 
tERMSG- «*••** GX 
f'XCL ■ ****** GX 
IFRHD - ****** GX 
IINIPT- ****** GX 
KBMOO ****.* GX 
tLBSWT- ****** GX 
002 SLIBNB- ****^* GX 

002 tLlBNM- ****** GX 

003 tLNBUF- •*•**• GX 
tLrlOES" ****** GX 
IMLSG1 000036RG 
IPRFNO- ****** GX 
•RLCB ■ ****** GX 

»p • ****** GX 
TOIR- ****** GX 
tSCANO- ****** GX 
ISCNL ■ ****** GX 
ISOSOP- ****** GX 
tSTAR • ****** GX 
•SWTCM- ****** GX 
tSZSEG- ****** GX 

iTSTK ■ •****• GX 
t ■ 000001 
.CSI1 • *•**•» Q 
...GBL* QQOOOQ 
...TPC- 000140 



OPMi 
OVAl 




•••• 4 to *••• 



MLSG1 MACRO M1108 
SYMBOL TABLE 

ERRORS DETECTED: 



1A-DSC-77 09:5A PAGE 3-12 



VIRTUAL MEMORY USED: 2891 WORDS ( 12 PAGES) 
DYNAMIC MEMORY: 1574A WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:33 

C31 .203MLSG1 .C31 ,30]MLSG1/-SP=C31 ,10]MACFLM,FCSPR.MLSG1 
3S 



*••• c 10 **•« 




•«•• I) \0 tttt 



MLSG2 MACRO Ml 108 U-OEC-77 09:55 PAGE 2 



45 000000 
47 



124375 077530 



15 000010 130477 105571 



.TITLE 
.IDENT 



MLSG2 
/11/ 



;**-1 



COPYRIGHT 1973, DIGITAL EQUIPMENT CORP.. MAVNARO, MASS. 
COPYRIGHT 1975, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 
COPYRIGHT 1976, DIGITAL EQUIPMENT CORP.. MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 11 

D. N. CUTLER/C. MONIA 10-DEC-73 

MODIFICATIONS! 

NO. DATE PROGRAMMER 



;*»-1 



043 


23-SEP-75 


C. MONIA 


048 


09-FEB-76 


C. MONIA 


049 


25-FEB-76 


C. MONIA 


052 
059 


22-MAR-76 


C. MONIA 


08-APR-76 


C. MONIA 


^64 


21-MAY-76 


C. MONIA 


28-JUN-76 


C. MONIA 



BUILD THE SEGMENT DESCRIPTION FOR AN OVERLAYED TASK 

LOCAL DATA 

AUTOLOAD ENTRY POINT NAME 



AUTO: .RAD50 /SAUTO/ 
.BLKW 2 



; NAME OF POINTER TO IMPURE AREA IN OVERLAY RUNTIME ROUTINES 
I 

NOVLY! .RAD50 /.NOVLV/ ; 
.BLKW 2 ) 



•••• I 10 **** 



;**NEW** 
;»*-1 



I*.SG2 MACRO mi 08 U-OEC-77 09:55 PAGE 2-1 

II ; TEMPORARY STORAGE 

61 000020 TMP: .BLKW 5 

TASK IMAGE FILE SWITCHES 



67 000052 



73 00005A 
74 



78 

79 000036 

80 




012705 OOOOOOG 
016701 OOOOOOG 



TSKSW: .BUW 1 ; 

; CURRENT WINDOW OFFSET INTO WINDOW DESCRIPTOR SECTION 

; 

WNOFF: .BLKW 1 } 

WINDOW DESCRIPTOR FLAGS 
WNFLG: .BLKW 1 1 



•••MLSG2-8UILD SEGMENT DESCRIPTORS 

INPUTS] 

PARSED SEGMENT DESCRIPTION BUILT BY SMLSGI 

OUTPUTS: 

IPATH-ADDRESS OF PATH LIST 
tSGLST-ADDRESS OF SEGMENT LIST 

SEGMENT T/«LES AND ELEMENT LIST FOR EACH SEGMENT 



THIS ROUTINE IS ENTERED FROM SMULSG TO CONSTRUCT THE 
ABOVE TABLES. THE SEGMENT DESCRIPTORS ARE LINKED AND ELEMENT 
DESCRIPTORS STRUNG OFF EACH BRANCH. ANY .PSECTS SPECIFIED IN 
THE ODL ARE ENTERED IN THE SECTION TABLE OF THE APPROPRIATE 
SEGMENT. 

IF THE NUMBER OF SEGMENTS EXCEEDS ONE. BUFFERS FOR THE 

SEGMENT AND PATH LISTS ARE ALLOCATED. 
t 
1- 

i 

tMlSG2;! 

MOV «tDIRHD,R5 ; GET ADDRESS OF PARSED DIRECTIVE HEADER 

CALL RELEAS ; RELEASE MEMORY 

MOV ITSKNM.R1 ; GET ADDRESS OF TASK FILE NAMEBLOCK 

CALL ICVRL ; CONVERT TO REAL ADDRESS 



•••• f \Q ••«• 



1.. 



HLSG2 NfCW) mi08 U-OEC-77 09:55 PAGE 2-2 



115 000060 

116 000066 

117 000072 

118 000100 

119 000106 

120 000110 

121 000116 

122 000116 

123 000122 

124 000124 

125 000126 

126 000130 

127 000134 

128 000136 

129 000U2 

130 000U4 
000150 
000154 
000160 
000164 
000170 
000174 
000200 
000204 

139 000206 

140 000212 
000214 
000220 
000222 
0002; 



131 
132 
133 

ir, 

136 
137 
138 



141 
142 
143 
144 
145 
146 
147 
148 
149 
50 
151 




000256 

152 Cf00260 
53 WV10266 



016067 
005067 
012767 
032767 
001403 
042767 

012700 
010001 
005720 
010120 
020027 
103772 
012704 
011403 
016701 



OOQOOOG 177744 

OOOOOOC 177736 
OOOOOOG 177724 

OOOOOOG 177720 

OOOOOOG 



OOOOOOC 
000002G 
OOOOOOG 



5t: 

10S: 



016701 OOOOOOG 



012704 
010405 

022424 
020427 
103771 
012700 
032767 
001402 
152700 





001407 
032767 
001405 
012767 

016701 

m: 

1 
1 
1 

3 

301 



012705 
005767 



OOOOOOG 



OOOOOOC 



201: 



OOOOOOG 
OOOOOOG 177576 

OOOOOOG 



OOOOOOC 
OOOOOOC 
OOOOOOG 

OOOOOOG 177544 

000001 OOOOOOG 

OOOOOOG 
000001 



21ti 



210t: 



OOOOOOG 
OOOOOOC 
0O0010' 
OOOOOOG 



22% i 



NOV 
CLR 

mv 

BIT 
BEQ 
SIC 

NOV 

NOV 

TST 

NOV 

CNP 

BLO 

NOV 

NOV 

NOV 

CALL 

CALL 

CALL 

NOV 

CALL 

CALL 

NOV 

NOV 

CALL 

CNP 

CNP 

BLO 

NOV 

BIT 

BEQ 

BIS8 

NOV 
NOV 
TST 
BEQ 
BIT 
BEQ 
NOV 

NOV 

CNP 

BEQ 

ASL 

INC 

ASL 

NOV 

ASL 

CALL 

NOV 

ADO 

NOV 

NOV 

CALL 

TST 



ESLSWT(RO),TSKSW ; COPY TASK SWITCHES 

UNOFF : CLEAR WINDOW OFFSET INTO SECTION 

#<WS.NAP!WS.64B>.WNFIG : SET TO NAP ON CREATE. AND ALIGN 

#SW»CN.TSKSW ; TASK \h CONPATIBILITr NODE? 

5S : IF EQ NO 

«WS.648,WNFLG : CLEAR 64-4VTE ALIGNNENT 

tWSTK.RO ; GET ADDRESS OF DESCRIPTION STACK 

R0.R1 .COPY HEADER ADDRESS 

(RO)* ;POINT TO LAST 

R1.(R0)» .-LAST POINTS TO FIRST INITIALLY 

R0,*»DSTK*<N»PLVL*4> ; END OF LIST? 

lot ; IF LO NO 

«tDSTK*2.R4 ; GET ADDRESS OF FIRST HEADER 

{R4),R5 .GET ADDRESS OF NEXT ITEN 

MTSEG.RI ; GET VITUAL ADDRESS OF ROOT SEGMENT 

ICVLOK ; CONVERT TO REAL, LOCK IN NENORY 

MRMPG : WRITE NARK PAGE 

GNSEG .GENERATE SEGNENT DESCRIPTORS 

ICRVSG.R1 ; GET VIRTUAL ADDRESS OF LAST SEGMENT 

IWRMPG : WRITE-NARK PAGE 

SUNLPG ; UNLOCK PAGE 

flDSTK,R4 ; GET ADDRESS OF DESCRIPTION STACK 

R4,RS .SET HEADER ADDRESS 

RELEAS ; RELEASE NENORY 

(R4)».(R4)» .ADJUST TO NEXT HEADER 

R4-ffOSTK»<NfPLVL*4> ; END OF LIST? 

201 :IF LO NO 

fSYSGBL.RO ; SET GLOBAL FLAG 

fSWiNN.TSKSW ; TASK INAGE HAVE HEADER? 

211 ; IF EQ NO 

fSVMK.RO ; FLAG WEAK REFERENCE 

R0.AUTO»SlYFLG-siYN ; SET SYNBOL TABLE FLAGS 

RO.NOVLY*SIYFLG-SIYN ; ... 

• TMWD ; TASK HAVE RESIDENT OVERLAYS? 

210t ; IF EQ NO 

fSWiNH.TSKSW ; BUILDING RESIDENT L1F><ARY? 

2 OS ; IF EQ NO 

«1,lNUmG ; SET NUMBER OF REGION DESCRIPTORS 



INUMSG.R1 
R1.#1 

R1 

R1 

R1,R! 

R' 

tALBLK 

RQ.tPATH 

RJ.RO 

RO.ISGIST 

«NOVLY.RS 

IAFL6 



; GET NUMBER OF SEGNENTS 

\ NORE THAN ONE SEGMENT? 

\ IF EQ NO 

! MULTIPLY BY 2 

\ ACCOUNT FOR TERMINAL ZERO IN LISTS 

: MULTIPLY BY 2 

; HAVE LENGTH OF ONE LIST 

I CONVERT TO LENGTH IN BYTES 

ALLOCATE BLOCK 

SAVE ADDRESS OF PATH LIST BUFFER 

COMPUTE ADDRESS Of SEGMENT 1 1ST BUFFER 

SAVE ADDRESS OF SEGMENT UST 

POINT TO IMPURE AREA NAME 
INSERT IN SYMBOL TABLE 
AUTOLOAD SPECIFIED? 



;*»-1 



••t* 



TW 



•••• 



.»»>^^ ««iif>a ii.-fnr-Ty fio.<< fcAAt >-t 



I1.SG2 MACRO mi08 U-OEC-77 09:55 PAGE 2-5 



17? 00035A 

173 000556 

174 000362 

175 000362 

176 000366 

177 000372 

178 000376 

179 000400 

180 000406 

181 000410 

182 000414 

183 000420 

184 000420 

185 000424 

186 000430 

187 000434 

188 000440 

189 000444 

190 000452 
000456 
000460 
000462 
000466 
000472 

196 000476 

197 000500 

198 000504 

199 000510 
'" 000514 

000520 
000520 
000524 
000530 



00U65 
012705 

016701 



010004 
132765 
001004 
005267 
005264 



000000' 
OOOOOOG 

OOOOOOG OOOOOOC 



25S: 



OOOOOOG 
OOOOOOG 



012701 OOOOOOG 



27%: 



191 
192 

193 
194 
195 



012560 
012560 
011560 
016760 
016700 
010025 
010125 
062700 



010501 
162701 
012700 



OOOOOOG 

000002G 
OOOOOOC 

OOOOOOG OOOOOOG 
OOOOOOG 



OOOOOOC 



000016 
OOOOOOG 




016701 OOOOOOG 



2»t: 

sot: 



BEQ 

MOV 

MOV 

CALL 

CALL 

MOV 

BITS 

BNE 

INC 

INC 

MOV 

CALL 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

ADD 

CALL 

CALL 

MOV 

SUB 

MOV 

CALL 

CALL 

MOV 

CALL 

RETURN 



SOS ;IF EQ NO 

#AUT0.R5 .-POINT TO NAME Of AUTOLOAD ROUTINE 

$Rl;.t6.R1 ; GET ADDRESS OF ROOT SEGMENT 

fCVLOC ; CONVERT TO REAL. LOCK IN MEMORY 

tyRMPG ; yRITE-MARK PAGE 

R0.R4 ; SAVE REAL ADDRESS OF SEGMENT 

#sy»yic.sirFL6-s»vM(R5) .- ycAK reference? 

271 ; IF NE rES 

WSVMC ; INCREMENT MASTER UNDEFINE) COUNT 

SIGUND(R4) ; INCREMENT COUNT OF UDEFINED SYMBOLS 



WIVLGH.RI 

tALVRT 

(R5)sStVM(R0> '. 

(R5)«.S$VM«2(RO) 

(RS}.StVFLG(RO) , 

lASCT.StVCMT(RO) 

MTSEG.RO 

R0.(R5)» 

R1.(R5)» 

fSiGSTB/2,R0 

ISRCHI 

SISVM 

R5.R1 

#<4»S>*2,R1 

#tSyMH0.R0 

ISRCIV 

tISVMV 

WTSEC.RI 
lUNLPG 



GET LENGTH OF SYMBOL TABLE ENTRY 

ALLOCATE VIRTUAL MEMORY 

SET NAME OF SYMBOL 
; SET SECOND HALF OF NAME 

SET FLAGS 
: SET ADDRESS OF DEFINING SECTION 

GET ADDRESS OF SEGMENT 

SET SEGMENT ADDRESS 

SET ADDRESS OF SYMBOL 

GET VIRTUAL DESCRIPTOR ADDRESS 
SEARCH FOR INSERT 
INSERT SYMBOL 

COPY DESCRIPTOR ADDRESS 

COMPUTE DESCRIPTOR ADDRESS MINUS OFFSET 

GET ADDRESS OF MASTER TABLE LISTHEAD 

SEARCH FOR INSERTION 

INSERT SYMBOL 

GET ADDRESS OF ROOT SEGMENT 
UNLOCK PAGE 



;..-S 



SUBROUTINE TO GENERATE SEGMENT DESCRIPTORS 



?10 000532 

?11 000531 016701 



OOOOOOG 



OOOOOOG 



GNSEG: 



. - 000542 010005 
214 000544 010067 
|15 000550 
216 QOOS52 



01 IMS 

- 116502 

II ^5'$ <^^'o^ 000001 

18 000562 000172 000566' 




OOOOOOG 



MOV 

CALL 

MOV 

MOV 

MOV 

MOVB 

BIC 

JMP 



tCRVSG.RI 

m 

RO.IfRSfC 

(R^),R^ 

riYP(R3),R? 

*1.R2 

•l6t(R2) 



: GET VIRTUAL ADDRESS OF CURRENT SEGMENT 

; CONVERT TO REAL ADDRfSS 

: SET REAl ADDRESS OF CURRENT 

; SET REAL ADDRESS OF CURRENT 

; GET ADDRESS OF NEXT ITFM TYPf 

; OF! ITEM TYPf 

.-CLEAR POSSIBIF AUTOLOAD BIT 

.DISPATCH ON ITEM frPf 



1^ w- 

rj 000614' 

74 000650' 

V6 000652' 



t 

: ITEM TYPE DISPATCH VECTOR 



lOlt 



.WORD 


GNSEG 




;508 


.yoRD 


GNRPAR 




;f05 


.WORD 


ONI PAR 




;lPAR 


.WORD 


GNRPAR 




;RPAR 


.WORD 


(iNCOMA 




;CQMA 




• ••• 


n16 


•••• 



mttii mfft miMi u-ntf-yy ogiss pacf ?-< 



«LSG2 NACRO H1 108 U-OEC-77 09:55 PAGE ?-* 



000600 
000602 
000604 
000606 
000610 
000612 



001074' 
000552' 
000532' 
001252' 
001 520' 
001570' 



.UORD 
.WORD 
.UORD 
.UORD 
.UORD 
.UORD 



GNDASH 

GNSEG 

GNSEG 

GNSCTN 

GNSEGN 

GNFILE 



:DASH 

;STAR 

; EXCLA vTION POINT 

;SCTN 

;SEGN 

;FILE 



0006U 
000622 
000624 
000650 
000650 
000652 
000640 
000642 
000646 



LPAR-LEFT PARENTKESIS 



052765 000001 OOOOOOG GNLPAR: BIT »1,TSVP(R3) 

BEQ 101 
INCB St6STSO(R5) 
10S: 
011500 
122760 OOOOOOG OOOOOOG 



001402 

105265 000001 G 



101754 
000751 



NOV (R5).R0 

CMPB fSSCTM,TtYP(RO) 

BLOS GNSEG 

CALL GN(.VL 

BR GNSEG 



; AUTOLOAD SPECIFIED? 

:IF EO NO 

;SET AUTOLOAD FLAG 

; GET ADDRESS OF NEXT ITEM 
; OPERAND? 
;IF LOS YES 
.'CHANGE LEVEL 



255 

254 
255 

256 

257 
25S 
259 
260 

f& 

265 

fm 

?66 



000650 



000652 
000656 
000662 
000670 
000676 
000704 
000706 
"712 




016560 
016560 
152765 
001420 
005765 
001415 
010146 
010046 

Up 

010160 
012601 
152760 




RPAR-RIGNT PARENTHESIS 



GNRPAR: RETURN 



C0MA-CGI<MA 



GNCOMA: 



OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 

OOOOOOG 



OOOOOOG 
OOOOOOG 

OOOOOOG OOOOOOG 

000001 OOOOOOG 

000001G 



51: 



1004 




lOSt 



0000006 
OOOOOOG 



CALL 

CALL 

NOV 

NOV 

BITB 

BEQ 

TST 

BEQ 

NOV 

NOV 

CALL 

NOV 

NOV 

NOV 

NOV 

B1S8 

BIT 
BEQ 
INCB 

NOV 
NOV 
NOV 
NOV 
NOV 



lALSGD 

ILCKPG 

SIGUDP(R5).StGUDP 

StGM«)(R5),StGWN0 

«S6IRES.SIGST$(R5 

51 

StGDUN(R5} 

51 

R1,-(SP) 

RO,-(SP) 

ALCUD ; 

(SP)*.RO 

R2.SIGUND(R0) 

R1,SIGUDP(R0) 

(SP)»,R1 ; 

f SCIRE S.StGSTS(R& 



ALLOCATE SEGMENT DESCRIPTOR 

LOCK NEU SEGMENT IN MEMORY 
(RO) ; COPY ADDRESS OF UINDOU BLOCK 
(RO) ; COPY UlNDOW DESCRIPTOR OFFSET 
) ; CURRENT SEGMENT RESIDENT? 

IF EQ NO 

CURRENT'ROOT? 

IF EQ YES 

SAVE ADDRESSES 

ALLOCATE UINDOU DESCRIPTOR 
GET REAL ADDRESS OF DESCRIPTOR 
SAVE OFFSET INTO UINDOU 
SET ADDRESS OF UINDOU DESCRIPTOR 
RESTORE VIRTUAL ADDRESS OF SEGMENT 
) ; NARK SEGMENT RESIDENT 



#1.TIYP(R5) 

lOi 

SIGSTSO(RO) 

S$GNKT(R5).-(SP) 
R1,StGNXT(.^5) 



; AUTOLOAD BIT SET? 

* IF EQ NO 

;SET SEGMENT AUTOLOAD 

GET LINK NEXT OF CURRENT 
SET NEU LINK NEXT 



(5^).SI6NXTU'»0) J SET LINK NEXT OF NEU 
Sl6DUN(R5).SlOPUN(RO) :SET I INK DOUN Or NFU 
ICRVSG.SSGMVCRO) ; SET LINK TO PREVIOUS 



•••• 1 10 ••*• 



*ft3 MAfiiii MiiMi u-r>rf-y7 no!^< PAfir >-s 



HLSGZ MACRO mi 08 U-OEC-77 09:55 PAGE 2-5 



291 



286 001012 

287 001016 

288 001022 

289 001026 

290 001032 
00103* 
001040 
001044 

294 001052 

295 001054 

296 001062 

297 001064 

298 001070 

299 001072 
300 

301 
30? 
303 
304 

305 001074 

306 001076 

307 001104 

308 001106 

309 001112 

310 001120 

311 001126 

312 001152 

313 001136 

314 001144 

315 001150 

316 001154 

317 001160 

318 001164 

319 001170 
'" 001174 

001200 

001200 

-- 001204 

001226 



010067 OOOOOOG 

010167 OOOOOOG 

016001 OOOOOOG 

012601 



016760 OOOOOOG OOOOOOG 

011301 

122761 OOOOOOG OOOOOOG 

101623 

010146 
000442 



NOV 

NOV 

NOV 

CAIL 

NOV 

CALL 

CALL 

NOV 

NOV 

CNP8 

BLOS 

CALL 

NOV 

BR 



; 

; OASH-NINUS 



011300 
122760 
101612 

016560 
016560 

010165 
016760 
010167 
016001 



016046 
016701 
012601 



010167 
000167 



OOOOOOG OOOOOOG 



OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 

OOOOOOG 

OOOOOOG OOOOOOG 
OOOOOOG 
OOOOOOG 



SNOASH: 



OOOOOOG 
OOOOOOG 



OOOOOOG 
177300 



GND1: 




NOV 

CNPB 

BLOS 

CALL 

NOV 

NOV 

CALL 

NOV 

NOV 

NOV 

NOV 

CALL 

CALL 

CALL 

CALL 

NOV 

NOV 

CALL 

NOV 

CALL 

CALL 

NOV 

JNP 



RO.SCRSEG 

RI.SCRVSG 

SS6PRV(R0).R1 

SUNLPG 

<SP)».R1 

ICVRL 

tyRNPG 

tCRVSG.SSGPRV(RO') 

«SlcfN.rtVP(R1) 

GNSEG 

GNLVL 

R1,-(SP) 

GND1 



SAVE REAL ADDRESS OF SEGNENT 

SAVE VIRTUAL ADDRESS OF SEGNENT 

GET VIRTUAL ADDRESS OF PREVIOUS 

UNLOCK PAGE 

GET VIRTUAL ADDRESS OF LINK NEXT 

CONVERT TO REAL ADDRESS 

yRlTE-MARK PAGE 

; SET NEW LINK TO PREVIOUS 
GET ADDRESS OF NEXT I TEN 

OPERAND? 
IF LOS YES 
CHANGE LEVEL 

SAVE VIRTUAL ADDRESS OF CURRENT SEGMENT 



(R3),R0 ;GET ADDRESS OF NEXT ITEN 

#SlCTN,T|yp(RO) ; OPERAND? 
GNSEG ;|F LOS YES 

SALSGD .ALLOCATE SEGNENT DESCRIPTOR 

SIGyDP(RS).S»GyOP(RO) ; SET ADDRESS OF WINDOW BLOCK 
StGWND(R5),StGWN0(R0) ; COPY DESCRIPTOR OFFSET 
KCKPG ; LOCK NEW IN CORE 

R1,SfGUP(R5) : SET LINK UP OF CURRENT 
tCRVSG,SIGDWN(RO) ; SET LINK DOWN OF NEW 

; SET NEW CURRENT SEGMENT 

; GET VIRTUAL ADDRESS OF OLD 

; WRITE -MARK PAGE 

; UNLOCK PACE BUFFER 

.-CHANCE LEVEL 
GET REAL ADDRESS OF CURRENT SEGNENT 
: RESTORE CURRENT SEGNENT 



R1.ICRVSG 

StCDWN(R0).R1 

ItWRMPG 

MNLPG 

GNLVL 

SCVRL 

SIGDWN(RO),-(SP) 



ICRVSG.R1 

SUNLPG 

(SP)».R1 

tCVLOK 

IWRMPG 

R1.ICRVSC 

GNSEG 



GET VIRTUAL ADDRESS OF CURRENT 

UNLOCK CURRENT 

GET NEW CURRENT 

CONVERT TO REAL. LOCK IN NEMORY 

WRITE-MARK PAGE 

SET NEW CURRENT 



SEG. 



; SCTN-SECTION NAME 



OOOOOOC 



OlJ?01 0000006 



GNSCTN: MOV 
ADD 
SUB 
NOV 
ADD 
CALL 
BCC 
NOV 
CALL 



R3.R1 
fLiAB.RI 
«SSYN.R1 
R5.ro 

#siccsr.R0 

ISRCN 
20$ 

tClSLGH.RI 
lALVRT 



;C0PY ADDRESS OF MEN 
; CALCULATE PROPER OFFSET 

■COPY ADDRESS OF CURRENT SEGMENT 
;POINT TO SECTION TABLE 
.'SEARCH FOR SECTION NAMf 
.•IF CC ALREADY THERE 
.'GET SIZE OF BLOCK NEEDED 
; ALLOCATE VIRTUAL MEMORY 



;**NEW»» 



*M* J to •••• 



io M4fo wiioi u.Qtr-yy Qg;5s pagf ;-6 



HLSC2 MACRO H1 108 U-OEC-V 09:55 PAGE 2-6 



3A5 0011 
346 001! 
3*7 00 V. 

348 001326 

349 001330 

350 001336 

351 001336 

352 001342 

353 001346 

354 001352 

355 001354 

356 001360 

357 001364 

358 C01366 
359 

360 
361 
362 
363 

364 001370 

365 001374 

366 001400 

367 001404 

368 001410 

369 001412 

370 001416 

371 001420 

372 001420 

373 001424 

374 001426 

375 001430 

376 001434 

377 001434 
578 001442 

379 001444 

380 001452 

382 001456 

383 001462 

384 001466 

S5 001472 
b 001474 
587 Q0U74 
388 001500 
589 001502 
390 001506 
591 001512 
392 001516 
595 
594 
195 



9; 

98 001520 

99 001526 



016360 
116360 
142760 
032763 
001403 
152760 

016700 
062700 

103002 

005765 
001106 
000477 



OOcOOOG OOOOOOG 
000002G 00000?G 
OOOOQOG OOOOOOo 
OOOOOOG OOOOOOG 
000001 OOOOOOG 

OOOOOOG OOOOOOG 



OOOOOOG 

ooooooc 



OOOOOOG 



10$: 



20s : 



MOV 

MOV 

MOVB 

BiCB 

BIT 

BEQ 

BISB 

MOV 

ADD 

CALL 

BCC 

CALL 

TST 

BNE 

BR 



LSAB(R3).SSYM(R0) : INSERT SECTION NAME 

LtABt2(R3},SSYMt2(R0) ; 

flLG(R3),CiSFLG(R0) ; SET FLAG BYTE 

#CSIMEM.CSSFLG(RO) ; CLEAR MEMORY FLAG(USED FOR AUTOLOAD) 

#1.TSYP(R3) ; AUTOLOAD SPECIFIED? 

lot :IF EQ NO 

«CSSATL,CSSFLG(R0) ; SET AUTOLOAD BIT 

fCRVSG.RO ^ -GET VIRTUAL ADDRESS OF CURRENT SEGMENT 

#S$GCST/2,R0 ; POINT TO SECTION TABLE 

SSRCHI .'SEARCH FOR INSERT 

201 ;IF CC ALREADY DEFINED FOR SEGMENT 

IISVM .-INSERT SECTION 

StGNME(R5) .-SEGMENT HAVE NAME YET? 

GNSEG2 ;IF NE YES 

GNSEG1 ;GIVE IT NAME NOW 



.•**-1 



.•♦•NEW** 
.-♦•NEW** 

.-••NEy** 

.♦•-3 



FILE-FILE NAME 



016301 000004 



020167 
001003 
062701 
000426 

016046 
001003 
010116 
062716 

032763 
001403 
052760 

012702 

012601 

005765 
001040 

012065 
011065 
000431 



052765 
0OU02 



OOOOOOG 
OOOOOOC 

0000026 

OOOOOOC 

000001 OOOOOOG 

OOOOOOG OOOOOOG 



GNFILE: MOV 
CALL 
CALL 
CMP 
BNf 
ADD 
BR 



2li 



SS: 



4(R3).R1 

ICVRL 

tURMPG 

RI.ILIBNM 

21 

#<EILMND»4>/2.R1 

151 



OOOOOOG 



OOOOOOG 



OOOOOOG 
0000020 



10»: 



151) 



MOV ElLIDT»2(R0).-(S^ 

BNE 51 

MOV R1,{SP) ; 

ADD «<EILMND«4>/2,(SP 

BIT #rTlYP(R3» ; 

BEQ lOi 

BIS «SMAL.EtLSWT(RO) 

MOV ICRVSG.RO 

ADD #<SIGELT/2>.R0 ; 

MOV #EtLNXr.R2 

CALL tLNKVM 

MOV (SP)*.R1 

TST SIGM«(R5) 

BNE CNSEG2 

CALL ICVRL 

MOV (R0)sS$GNMf(R5) , 

MOV (R0).StGNMEt2(R5) 

BR GNSEG2 ; 



GET VIRTUAL ADDRESS OF ELEMENT DESCR. 
CONVERT TO REAL ADDRESS 
WRITE -MARK PAGE 
DEFAULT LIBRARY 
IF NC NO 
; OFFSET TO FILE NAME 
SET NAME OF SEGMENT 

) .- RECORD ADDRESS OF MNT TABLF (IF ANY) 
IF Nf MODULE NAME-LIST ALLOCATED 
COPY ADDRESS OF ELEMENT DESCRIPTOR 

> .- OFFSET TO FILE NAME 

AUTOLOAD SPECIFIED? 

IF EQ NO 

; SET AUTOLOAD FLAG 

GET VIRTUAL ADDRESS OF CURRENT SEGMENT 

OFFSET TO ELEMENT USTHEAD 

GET OFFSET TO NEXT 

LINK VIRTUAL LIST 

GET VIRTUAL ADDRESS OF NAME 

SEGMENT HAVE NAME? 
IF NE YES 

CONVERT NAME ADDRESS TO RCAL 
I SFT SEGMENT NAME 



{ SEGN-SEGMENT NAME 



000001 OOOOOOG GNSEGN; BIT 

BIQ 



#1,TIYP(R3) 

loi 



AUTOLOAD SPECIF IFD? 
IF EQ NO 



TTJT 



•••* 



•••* 



"1 



WL>M MACRO Mil 08 14-DEC-^^ 00 '■^ PAGf ?-? 



NLSG2 MACRO Ml 108 U-OEC-77 09:55 PAGE 2-7 



AOO 
A01 
A02 
405 
AOA 
405 
406 
407 
408 
409 
410 
411 
412 
413 
414 
415 
416 
417 
418 
419 
420 
421 
422 
425 
424 
4|S 
426 
427 
428 
429 
450 
451 
452 
455 
454 
455 
456 
457 

i3$ 

440 

441 



001550 
001554 
001554 
001542 
001550 
001556 
001560 
001566 
001574 
001602 
001602 
001610 
001612 
001620 
001622 
001650 
001652 
001640 
001642 
001650 
001654 
001660 
001664 
001664 



001670 
001672 
001674 
001676 
001702 
001706 
001710 
001712 
001714 
001716 




105265 000001 G 



142765 
156565 
026767 
001005 
142765 
016565 
016565 

152765 
001025 
152763 
0014?^ 
05276/ 
001415 
052767 
001011 
152765 

010165 
010265 



OOOOOOC 
OOOOOOG 
OOOOOOG 

OOOOOOG 
OOOOOOG 
000002G 

OOOOOOG 

OOOOOOG 

OOOOOOG 

OOOOOOG 

OOOOOOG 

OOOOOOG 
OOOOOOG 



101: 



000167 176642 



OOOOOOG 
OOOOOOG 
OOOOOOG 

OOOOOOG 

OOOOOOG GNSEG1 : 
000002G 

CNSEG2: 
OOOOOOG 

000001 G 

OOOOOOG 

OOOOOOG 

OOOOOOG 



101: 



INCB 

BICB 

BISB 

CMP 

BNE 

61 CB 

MOV 

MOV 

BITB 

BNE 

BITB 

BEQ 

BIT 

BEQ 

BIT 

BNE 

BISB 

CALL 

MOV 

MOV 

JMP 



SSGSTS«1(R5) 



SET AUTOLOAD FLAG 



#»C<S6SRES!SGSLOO>.SWSTS(R5) ; CLEAR ALL BUT RESIDENCY. LOAD FLAGS 

FILG(R5),SSGSTS{R5) ; SET SEGMENT FLAGS 

SCRVSG.tRTSEG ; CURRENT » ROOT? 

GNSEG1 : IF NE NO 

«SG$MEM.StGSTS(R5) ; MARK SEGMENT IN MEMORY 

LSAB(R5).SSGNME(R5) ; SET SEGMENT NAME 

LSABt2(R5).SSGNMEt2(R5) : 

«SGSRES.SSGSTS(R§) ; SEGMENT RESIDENT? 

101 ; IF NE YES 

#RS$FLG,TSYP»1{R5) ; RESIDENCY FLAG SET IN ITEM? 

lOt ; IF EQ NO 

IVMPSSV.SSWTCH ; SYSTEM MAPPED? 

lOt ; IF EO NO 

#RSfOV.ISWTCH ; RESIDENT OVERLAYS RECOGNIZED? 

10$ : IF NE NO 

#SGSRES,StGSTS(R5) ; SET RESIDENCY FLAG 

ALCyO ; ALLOCATE WINDOW BLOCK 

R1.StGWDP(R5) ; SET ADDRESS OF WINDOW BLOCK 

R2.SSGWND(R5) ; SET OFFSET INTO DESCRIPTOR SECTION 



GNSEG 



SUBROUTINE TO CHANGE LEVLES 



010314 
022424 
011403 
016746 

012601 
010314 
024444 
C1U03 



OOOOOOG 



GNLVLi 


MOV 


R3.xR4) 




CMP 


(R4)s(R4)« 




MOV 


(R4),R3 




MOV 


$CRVSG.-(SP> 




CALL 


GNSEG 




MOV 


(SP)*,R1 




MOV 


R3,(R4) 




CMP 


-(R4),-(R4) 




MOV 


(R4).R3 



RETURN 



ALLOCATE WINDOW DESCRIPTOR 



;SAVE ADDRESS OF CUffRENT ITEM 

.-ADVANCE LEVEL 

.'GET ADDRESS OF CURRENT ITEM 

; SAVE CURRENT VIRTUAL SEGMENT ADDRESS 

.RE CURSE 

; RESTORE VIRTUAL ADDRESS OF SEGMENT 

.'SAVE ADDRESS OF CURRENT ITEM 

;REDUCE LEVEL 

.'RETRIEVE ADDRESS OF CURRENT ITEM 

I 



012701 OOOOOOG 



ALCWDi 



0\mZ 176066 

062767 OOOOOOG 176060 



MOV 

CALL 

•IS 

INC 

MOV 

ADD 

RE TURN 



«WtNlGH.R1 

lALVRT 

WNFLG,W.NSTS(RO) 

tTSKWD 

WNOFF.R? 

fWSNLGH.WNOFF 



I 



I 



GET SIZE OF DESCRIPTOR 
ALLOCATE VIRTUAL MEMORY 
; SET DE5CHIPI0R flAGS 
INCREMENT TOTAL DESCRIPTOR COUNT 
GET OFFSET 
SET OFFSET TO NiXT DESCRIPTOR 



; SUBROUTINE TO RELEASE MEMORY 



•••• L 10 **•• 



MISG? MACRO Ml 108 14-Drc-T7 09i55 PAGE 2-1 



MLSG2 MACRO Ml 108 U-OEC-77 09:55 PAGE 2-8 



A57 001756 
A58 001760 
A59 001762 
A60 001764 
A61 001770 

462 001 77A 

463 002000 

464 002002 

465 002006 

466 002010 

467 002012 
468 

469 



011505 
001414 
010502 
116201 
042701 
012700 
011505 

005705 
001364 



000001 



000001 G 
OOOOOOC 
OOOOOOG 



RELEAS: 
101: 



20$: 



MOV (R5),R5 ;GET ADDRESS OF FIRST ENTRY 

BEQ 20S :IF EQ NONE TO RELEASE 

MOV R5.R2 ;SET ADDRESS OF BLOCK TO RELEASE 

MOVB T$YP*1(R2).R1 : SET SIZE OF BLOCK 

BIC #177400!RSiFLG.Rl ; CLEAR EXTRANEOUS BITS 

MOV «$FRHD.RO ;GET ADDRESS OF FREE SPACE HEADER 

MOV (R5),R5 ;GET ADDRESS OF NEXT ENTRY 

CALL SRLCB .-RELEASE BLOCK 

TST R5 .-ANY MORE? 

BNE 10$ ;IF NE YES 

RETURN ; 

.END 



*•** M 10 •••* 



MLSO; MACRO Ml 108 U-DtC-77 09i)5 MQF 2-9 



MLSG2 MACRO mi08 
SYMBOL TABLi: 



U-DEC-77 09:55 PAGE 2-9 



ALCWO 

AUTO 

CR 

CSUTL« 

CSSMEM* 

CtSFLG« 

CtSLGH* 

EtLlDT> 

EILMNO- 

EtLNXT* 

EtLSWT> 

FF » 

FtLG - 

GNCOMA 

GNDASH 

GNDI 

GNFILE 

GNLPAR 

GNLVL 

GNRPAR 

GNSCTN 

GNSEC 

. ABS. 



000015 



GX 
GX 
*•♦• GX 
♦••• GX 
♦*•• GX 
•••♦ GX 
••♦* GX 
GX 



OOOOU 
*♦••♦* GX 

000652R 
001074R 
001200R 
001570R 
0006UR 
001670R 
000650R 
001252R 
0005 S2R 



GNSEGN 

GNSEG1 

GNSEG2 

HT "t 

LF « 

LSAB * 

MP»SY « 

NOVLY 

NtPLVL< 

RELEAS 

RSSFIG* 

RSSOV > 

Rlt11M* 

SGtLOD> 

SGSMEMe 

SGtRES^ 

SPA « 

SWtAL 

SWtCM 

SWSNH 

S/SGei 



1520R 
-J1566R 
0Q1602R 
000011 
000012 
****** GX 
****** GX 

00001 OR 
****** GX 
001756H 
****** GX 
****** 

000000 
****** 



GX 



GX 
****** GX 

****** GX 

000040 

****** GX 

■ ****** GX 

GX 

GX 



*«*»<* 



SYSWK = ••♦*♦< 


» GX 


VT = 000013 


SSCTN = •••♦♦< 


> GX 


WNFLG 000036R 


SIGCST« •♦•♦♦< 


» GX 


WNOFF 00003AR 


SS6DWN« *••*•- 


• GX 


WS.MAPs *•*••< 


* 6X 


S$6ELT« *♦♦•♦< 


* GX 


WS.64B- ♦♦♦••< 


» GX 


SSGNME' •**•♦< 


» GX 


W$NLGH« ****** 


> GX 


SSGNXT« •*♦••* 


» GX 


W.NSTS« ****** 


* 6X 


SI6PRV ♦•*•♦< 


» GX 


$AFLG « •*•**- 


* GX 


S»GSTB« •••••< 


» GX 


$ALBU« *****' 


> GX 


SIGSTS" *•*•*- 


» GX 


SALSGD« ****** 


> GX 


SI6UN0» •♦*♦•< 


» GX 


SALVRT" ****** 


* 6X 


SIGUP « ♦•••*< 


> GX 


USCT = ****** 


* GX 


SI6W0P" »•*••< 


» GX 


$CRSEG« ♦••••< 


> GX 


SICyNO- ••••*< 


> GX 


$CRVSG« ****** 


* GX 


SSVCMT« ••*••< 


» GX 


SCVLOK* ****** 


» GX 


SJYFLG- •••••< 


» GX 


$CVRL « ****** 


> GX 


S$YLGH« •••••< 


» GX 


SOIRMD« ****** 


> GX 


StYM « •••••' 


» GX 


lOSTK « ****** 


• GX 


TMP 000020R 


SFRHO « ****** 


» GX 


TSKSW 0000S2R 


SISYM « •*•••< 


' GX 


TlYP ■ **♦•«* GX 


SlSYMVx ****** 


» GX 



000000 000 
0020U 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 1204 WORDS ( 5 PAGES) 
DYNAMIC MEMORY: 1574A WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:25 
[31.201MLSG2.C51.30]MLSG2/-SP-C31.103MACFLM.MLSGr 

SHX 



$LCICP6« 

$LIBNM» 

$LN»(VM= 

SMLSG2 

SMSYMC' 

$NUMRG« 

INUMSG< 

SPATH = 

SRLCB s 

SRTSEG* 

$SGLST« 

SSRCH = 

$SRCHI> 

SSRCIV> 

SSWTCH> 

SSYMHD* 

STSKNMc 

$TSXWD> 

SUNLPG' 

$WRMPG« 

S$ 



***** GX 
***** GX 
***** GX 

000040RG 
***** GX 
***** GX 

***ik* 
***** 
***** 
***** 



***** 



***** 
***** 
***** 



***** 



***** 
000001 



GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 



•ft* N 10 *•*• 




•*•• I \\ •«*• 



«PONE MACRO M1108 U-OEC-77 09:55 PAGE 2 



1 
? 
5 

A 
5 

6 
7 
8 

9 
10 
11 
12 
13 
U 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 



31 
32 
33 
3A 
35 
36 
37 
38 
39 
40 
41 

44 
45 

» 

48 
49 

5? 

$5 



.TITLE MPONE 
.IDENT /02/ 



COPYRIGHT (C) 1977 
COPYRIGHT (C) 1976 
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 02 

D. N. CUTLER/C. MONIA 25-JAN-74/ J. A. KASSON 20-APR-76 

MODIFICATIONS 

NO. DATE PROGRAMMER 



;**-1 



021 
034 
JAK100 



25-JAN-74 

07-JAN-75 

5-APR-77 



C. MONIA 
C MONIA 
.■'changes for MULTIUSER TASKS 



.MIALL GTIMSS 



LOCAL MACROS 



GNSWT - CREATES TABLE OF TASK SWITCH OPTIONS AND 
CORRESPONDING TEXT 



*» OPTION SWITCH 

0-SWITCH NUEMONIC 

C-SWITCH FLAG VALUE WHEN TRUE 



.MACRO GNSWT 
.WORD A 



A,B.C 



**•• C 11 •**• 



MPONE MACRO M1108 U-DEC-77 09.55 PAGE 2-1 



58 
59 
60 
61 

6A 
65 
66 
67 
68 
69 
70 
71 

75 
7A 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
39 
90 
91 
92 
93 
94 
95 
96 
97 
98 
99 
100 
101 
102 

\^ 

000003 
000006 
000011 
OOOOU 

"17 



000000 
000000 



000000 
000010 
000020 
000030 
000040 
000050 
000060 
000070 
000100 
000110 
000120 
000130 

ooouo 

000150 
000160 



000000 




» 



.ASCII /-B./ 
.WORD C 
.ENDM 



.PSECT STBLSD.D.GBL 
OPSW: .-SWITCH OPTION VECTOR 



.IF 

GNSWT 
6NSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 

.IFF 

GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 
GNSWT 

.ENDC 



NDF 



RSS11M 



SWSFP.FP.I 
SWSAB.AB.O 
SW$CP,CP,0 
SWSDS.DS.O 
SW$FX.FX,0 
SWSDA,DA,1 
SWSPI.PM 
SW$PR,PR.1 
SWSTR.TR.I 



SWSAC.ACJ 

SWSALO.AL.O 

SWtCn.CMJ 

SWfCP.CP.O 

SWSDA.DA.I 

Sw»EA.EA,1 

SWSFP.FP.I 

SWSNH.HD.O 

SWSNT.NT.1 

SWIPI.PI.I 

SWSPM.PM.I 

SWSPR.PR.I 

SWSNS.SE.O 

SWtSL.SL.I 

SWITR.TR.I 



000017 



117 
130 
040 

8{? 



1 
1 
04 



0PSWN«<.-0PSW>/8. 



.-NUMBER OF OPTIONS 



104 
106 
101 

IM 

045 
116 



124 FMT6! 



.PSECT MTXISD.D.GBL 

.ASC12 /ODT XFH ADDRESS: XPIN/; 



107 FMT7! .ASCIZ /PRG XFR ADDRESS i IPW/; 



••*• p t1 ***• 



NPONE MACRO Ml 108 U-DEC-77 09:!)5 PAGE 2-2 



000037 

0000A2 

0000A5 

000050 

000053 

106 

000057 

000062 

000065 

000070 

000073 

000076 

000101 

00010A 

000107 

000112 

107 

000117 

000122 

000125 

000130 

000133 

000136 

000U1 

108 

000U6 

000151 

000154 

000157 

000162 

109 

110 

111 

112 

113 

0002A7 

000252 

000255 

000260 

000263 

000266 

000271 

00027* 

000277 

1U 

000304 

000307 

000312 

000315 

000320 
, 



10A 
105 
072 
120 
000 

00005A 
103 
OAO 
1U 
111 
072 
120 
120 
120 
125 
116 

0001 U 
116 
106 
101 
117 
072 
062 
116 

00OU3 
113 
12A 
111 
124 
072 




354 

000357 
115 
000545 



104 
123 
040 
045 

123 
113 
040 
111 
124 
040 
040 
040 
040 
056 
000 
111 
124 
111 
124 
116 
040 
122 
000 
124 
040 
124 
102 
105 
040 
000017 



000241 


045 


000244 


124 


11! 


040 


104 


104 


105 


125 


04( 


114 


115 


111 


12! 


072 


045 


120 


045 


120 


116 


000 


000501 


124 


101 


114 


04( 


124 


122 


115 


040 
152 


105 




rd 


V 4 


k 


104 


00054< 
124 


if? 



122 
123 
045 
116 

124 
040 
040 
115 
123 
045 
045 
045 
045 
045 

104 
111 
103 
111 
040 
045 
045 

101 
101 
122 
125 
123 



116 
101 
101 
122 
125 
111 
124 
040 
040 
045 



101 FMT20: .ASCIZ /STACK LIMITS: IP IP XP XU.IN/; 



10S FMT25: .ASCIZ /IDENTIFICATION : S2RXN/; 



125 FMT24: .ASCII /TASK ATTRIBUTES: / 



000 

125 FMT42! 



.REPT OPSWN 

.ASCII /IVA/ 

.ENDR 

.ASCIZ /IN/ 

.ASCIZ /TASK ADDRESS LIMITS: IP IPir.'/ 



124 FMT45: .ASCIZ /TOTAL TASK SIZE : IT. WORDSIN/ 



122 FMT51i .ASCIZ /PARTITION NAME : X2RIN/ 



**** E 11 ••** 



MPQNE MACRO M1108 U-DEC-77 09:55 PAGE 2-3 



000350 
000353 
000356 
000361 
000364 
000367 

116 
00037A 
000377 
000A02 
000405 
000410 
000413 
000416 
000421 

117 
000426 
000431 
000434 
000437 
000442 
000445 
000450 
000453 
000456 

118 
000464 
000467 
000472 
000475 
000500 
000503 
000506 
000511 
000514 

119 
000520 
000523 
000526 
000531 
000534 
000537 
000542 
000545 
000550 

120 
000554 
000557 

6i 




0QQ607 
000612 



111 
040 
115 
072 
062 
116 

000371 
040 
040 
120 
045 
040 
126 
062 
116 

000423 
045 
117 
122 
131 
105 
122 
124 
116 
062 

000461 
055 
040 
055 
040 
040 
040 
055 
055 

000515 
105 
040 
117 
040 
040 
040 
116 
110 
000 

00C551 
113 
125 
040 
040 

045 
000604 



117 
116 
105 
040 
122 
000 
045 
045 
040 
040 
125 
040 
123 
122 
000 
045 
130 
126 
114 
040 
123 
111 
111 
072 
116 
055 
040 
040 
055 
040 
040 
055 
055 
045 

102 
040 
040 
120 
040 
040 
114 
107 
045 

124 
040 
111 
040 
040 
}40 
117 
117 
116 
124 
040 
040 



116 
101 
040 
045 
045 

120 
120 
045 
040 
056 
045 
045 
045 

064 
040 
105 
101 
104 
103 
120 
117 
045 
000 
055 
040 
055 
040 
040 
040 
055 
055 
116 

101 
040 
124 
040 
040 
040 
105 
P4 
1i6 

101 
040 
103 



«? Ill 

101 
040 
116 



040 FMT47: .ASCI2 /XP %P JtP lU. JVSX2RXN/ 



116 FMT48: .ASCIZ /I4NSX OVERLAY DESCRIPTI0N:X2N/ 



055 FMT49: .ASCIZ / — 



-IN/ 



123 FMTSO: .ASCIZ /BASE 



TOP 



lENGTHJN/ 



123 FMT53: .ASCIZ /TASK UK 



[X0,X0]XN/ 



123 FMT54: .ASCIZ /TASK 



NAME 



I2RXN/ 



*••* f )] ••*• 



HPONE MACRO M1108 U-OEC-77 09:55 PAGE 2-A 



000615 


101 


115 


000620 


040 


040 


000623 


072 


040 


000626 


062 


122 


000631 


116 


000 


122 000633 


124 


000636 


113 


040 


000641 


120 


122 


000644 


117 


122 


000647 


124 


131 


000652 


072 


040 


000655 


115 


056 


000660 


116 


000 


123 000662 


115 


000665 


120 


105 


000670 


040 


040 


000673 


122 


122 


000676 


131 


040 


000701 


101 


122 


000704 


101 


072 


000707 


045 


124 


000712 


040 


127 


000715 


,22 


104 


000720 


045 


116 


124 000723 


124 


000726 


113 


040 


0007] 1 


040 


105 


0007] 4 


124 


105 


0007] 7 


123 


111 


000742 


116 


040 


000745 


040 


072 


000750 


045 


124 


000753 


040 


127 


000756 


122 


104 


000761 


045 


116 


125 000764 


124 


)00767 


101 


114 


000772 
)00775 


101 


104 




105 


1)0100 


040 


)01 03 


111 


116 


m 06 


117 


127 


(1 11 


072 

115 


040 


1 (1 14 


056 


iiOl 17 


116 


000 


126 001021 


124 



'1? 




105 
040 
045 
045 

101 
040 
111 
111 
040 
045 
045 

101 
104 
101 
101 
040 
105 
040 
056 
117 
123 
000 
101 
040 
130 
116 
117 
040 
040 
056 
117 
123 
000 
117 
040 
104 
123 
127 
104 
123 
045 
045 

101 

?5? 



123 FMT55: .ASCIZ /TASK PRIORITY : Xn.XU/ 



120 FnT56: .ASCIZ /MAPPED ARRAY AREA: tT. WORDSXN/ 



123 FMT57: .ASCIZ /TASK EXTENSION : IT. WORDSXN/ 



124 FMT60: .ASCIZ /TOTAL ADDRESS WINDOWS: XM.SN/ 



123 FMT61: .ASCIZ /TASK IMAGE SIZE i IT. WORDSIN/ 



127 FMT62: .ASCIZ /R-W DISK BLK LIMITS: IP IP IP lU.IN/; 



;JAK100 



•t** 6 11 ••** 



<i_ik>*_«* AA.CB mAtim 9— ■ 



MPONE MACRO M1108 H-DEC-77 09:55 PAGE 2-5 



001065 
001070 
001073 
001076 
001101 
001 10A 
001107 
001112 
001115 
001120 
001123 

128 
001131 
001154 
001137 
001 U2 
001 U5 
001150 
001153 
001156 
001161 
001164 
001167 

129 
30 



134 
35 
36 
37 
38 
39 

UO 
41 



040 
123 

040 
115 
123 
045 
045 
045 
045 
045 
001126 
040 
125 

:oi 

040 
115 
123 
045 
045 
045 
045 
045 
001172 



000000 



000000 
000004 
000010 
000012 
000014 



104 
115 
114 
114 
111 
072 
120 
120 
120 
125 
116 
122 
104 
115 
114 
114 
111 
072 
120 
120 
120 
125 
116 
040 



111 
040 
115 
111 
124 
040 
040 
040 
040 
056 
000 
055 
111 
040 
115 
111 
124 
040 
040 
040 
040 
056 
000 
000 



000016 

58 000016 

59 000)22 012702 OOOOOOG 

61 mow 016722 OOOOOOG 

62 000036 016722 000002C 



117 FMT65: .ASCIZ /R-0 DISK BLK LimiS: XP IP f JU.IN/; 



;JAK100 



BLANK: .ASCI2 / / 



J 

IcHPi 
TOTAL : 
TAB: 
IDENT; 
ELSWT: 



.EVEN 

.PSECT 
LOCAL DATA 



.BLKW 
.BLKW 
.BLKW 
.BLKW 
.BLKW 



;IENPORA«V USED TO CALC LENGTHS 

.'TOTAL STORAGE 

.'INDENT SPACES PER LEVEL 
.'TOTAL INDENT FOR A LEVEL 

; TEMPORARY ELEMENT SWITCH WORD 



.'JAK100 



**-IMPM06-MAP HEADING 

THIS ROUTINE IS CALLED TO WRITE A HEADING INTO THE LOAD MAP FILE 

INPUTS: 

STSKPT-ADDRESS OF TASK IMAGE FILE RECORD BLOCK. 
OUTPUTS: 

MAP HEADING IS WRITTEN INTO THE LOAD MAP FILE. 



i 

IMPHDG:j 



SAVR6 

MOV 

CALL 

MOV 

MOV 



#ITITLE.R2 
MPTSK 

IVERSN.<R2)» 
lveRSN«2.(R2)* 



SAVE NON-VOIATILE REGISTERS 
GET A0DRFS5 Of TITLE BUFFER 
SETUP TASK NAME 
INSERT VERSION OF TKB 



•**• H 11 •••• 



mArmn Mlina 1i..Mr.y9 f\0>K\ BAM 9-4 



1 



NPONt »WCRO Ml 108 U-OEC-77 09:55 PAGE 2-6 



163 OOOOA? 
16A 0000A6 
Its 000050 
H^ 000052 
•!ft7 000054 

168 000064 

169 000070 

170 000074 

171 000100 

172 000104 

173 000106 

174 000110 

175 000114 

176 000120 

177 000120 

178 000124 

179 000130 

180 000134 

181 000140 

182 000144 

183 000150 

184 000154 

185 000156 

186 000162 

187 000164 

188 OC0170 

189 000174 

190 000200 

191 000204 

192 000206 

193 000212 

194 000216 

195 000216 

196 000222 

197 000226 

198 000232 

199 000236 

200 000240 

201 000244 

202 000250 

203 000252 

204 000254 

205 000260 

206 000262 

207 000264 

208 000270 

mi 

000! 
0003 



012722 
005022 
005022 
010203 



000001 



012701 OOOOOOG 

012702 OOOOOOG 

012702 OOOOOOG 

005712 

001404 

012701 000604' 



012702 
012701 

012702 
012701 

116722 
105022 
116722 
105022 
012701 

012702 
016712 
001404 
012701 



OOOOOOG 
000342' 

OOOOOOG 
000114' 

000001 G 

OOOOOOG 

000551' 

OOOOOOG 
OOOOOOG 

000633' 



016700 OOOOOOG 



012702 
005767 
001416 
016712 
066712 
012212 
005322 
016712 
012212 
064242 
012701 



012702 
022712 
001404 
012701 

012702 



OOOOOOG 
OOOOOOG 

OOOOOOG 
OOOOOOG 



OOOOOOG 
000054' 



OOOOOOG 
000001 

000000' 



10S: 



20t: 



000001 
000026' 



SOtt 



40* i 



MOV #1.(R2)* 

CLR (R2)t 

CLR (R2)« 

MOV R2.R3 

GTIMSS R3 

MOV #tFMT16,R1 

MOV WTITLE,R2 

CALL SMPOTI 

MOV /r$TNAME,R2 

TST (R2) 

BEQ 10S 

MOV #FMT54,R1 

CALL MPOTI 

MOV «SPNAME.R2 

MOV #FMT51.R1 

CALL SMPOTI 

MOV #SIDENT,R2 

MOV #FMT23.R1 

CALL IMPOTI 

MOVB tTKUIC«1,(R2)* 

CLRB (R2)^ 

MOVB tTKUIC.(R2)t 

CLRB (R2)* 

MOV #FMT53.R1 

CALL IMPOUT 

MOV nsVMBF,R2 

MOV tPRICR.(R2> 

BEQ 20t 

MOV fFMT55.R1 

CALL IMPOUT 

MOV tRTSE6.R0 

CALL UDRSM 

MOV ftSVMBF.R2 

TST ISTACK 

BEQ 30t 

MOV SeEGRW,(R2) 

.IIF DF RttllM, ADD 

MOV (R2)*.(R2) 

DEC (R2)* 

MOV tSTACK.(R2> 

MOV (R2)».(R2) 

ADD -<R2),-(R2) 

MOV #FMT20.R1 

CALL IMPOUT 

MOV *lODrAD.R2 

CMP #1,(R2) 

BEQ 40i 

MOV #FMT6.R1 

CALL IMPOTI 

MOV OXFRAp,R2 

CMP l»1.(R?) 

Bco ;oi 

MOV #FMT7,R1 

CALL MPOTi 



START PAGE COUNT 

INSERT BLANKS FOR SEGMENT NAME 



GET TIME PARAMETERS 

GET ADDRESS OF TITLE FORMAT 

GET ADDRESS OF TITLE BUFFER 

PRINT TITLE 

ADDRESS OF TASK NAME 

TASK NAME SPECIFIED? 

IF EQ NO - 00 PAR NAME 

ADDRESS OF » ORMAT 

PRINT 

GET ADDRESS OF PARITION NAME 

GET ADDRESS OF FORMAT 

OUTPUT PARTITION NAME 

GET ADDR OF PROGRAM IDENTIFICATION 

GET ADDRESS OF FORMAT 

OUTPUT PRG IDENTIFICATION 

GET GROUP CODE 

CLEAR HIGH BYTE OF CODE 

GET PROGRAMMER CODE 

TLEAR HIGH BYTE OF PROGRAMMER CODE 

OET ADDRESS OF FORMAT 

OUTPUT UIC 

ADDRESS OF TASK'S PRIORITY 
IF EQ SKIP 
ADDRESS OF FORMAT 
PRINT 

VIRTUAL ADDRESS OF ROOT 

SET ADDRESS LIMITS 
BUFFER ADDRESS 
ANY STACK SPECIFIED? 
IF EQ NO 
;SET BASE ADDRESS OF STACK 
iHDSlZ,(R2> : INCLUDE HEADER 

COPY BASE ADDRESS 
BACK OFF BY ONE 
SET LENGTH OF STACK 

COPY STACK LENGTH 

ADD BASE TO LENGTH 
GET ADDRESS OF FORMAT 
OUTPUT STACK LIMITS 

GET DOT VECTOR ADDRESS 
OOT SPECIFIED? 
IF EQ NO 

GET ADDRESS OF FORMAT 
OUTPUT OOT TRANSFER ADDRESS 
GET PRG VECTOR ADDRESS 
PRG SPECIFIED? 
IF EQ NO 

GET ADDRESS OF FORMAT 
;OUTPUT PRG XFR ADDRESS 



lai 



"•••• I ] ) •••• 



mkfmis ^^^^t\m ii.-f\rr-yy no.m pAf.r ?«? 



»*»ONE I^ACRO mi08 U-OEC-77 09:55 PAGE 2-7 



220 OOOMO 

221 0003^0 

222 OOOmA 

223 000346 
22A 000352 

225 000356 

226 000362 

227 000364 

228 000364 

229 000370 

230 000372 

231 000376 

232 00C402 

233 000406 
234 

235 

236 000406 

237 000412 

238 000414 
239 

240 
241 

242 000420 

243 000420 

244 000424 

245 000426 

246 000430 

247 000432 

248 000434 

249 000436 

250 000442 

251 000446 

253 

254 000452 

255 000452 

256 000454 

257 000456 

258 000462 

259 000464 

260 000466 

261 000474 

262 000476 

263 000500 
^502 
, )504 

266 000506 

267 000514 




016701 
001407 

016001 
010167 
000411 

016701 
001475 

016001 
042701 



032701 
001402 
052701 



016703 
010102 
040301 
040203 
050301 
001453 
012705 
012704 
012702 



032501 
001422 
012722 
010522 
005005 
036567 
001401 

m 

0?0325 
001410 
062762 
005362 
000402 

mm 



276 000542 020227 



'A 



8f 



OOOOOOG 



OOOOOOfi 
177432 



OOOOOOG 



OOOOOOG 
OOOOOOC 



OOOOOOG 
OOOOOOG 

OOOOOOG 



000000' 

000017 

OOOOOOG 



000004 



50S: 



511: 



52S: 



60S: 



621: 



1 77776 OOOOOOC 



000001 ^77776 



}7777^ 
000145* 
0001 32U 



651: 



701: 



751: 



lOli 



MOV 

BEQ 

CALL 

NOV 

NOV 

BR 

NOV 

BEQ 

CALL 

NOV 

BIC 

• IF 

BIT 
BEQ 
BIS 

.ENOC 



NOV 
NOV 
BIC 
BIC 
BIS 
BEQ 
NOV 
NOV 
NOV 



BIT 
BEQ 

NOV 
NOV 
CLR 
BIT 
BEQ 
INC 
CNP 
CNP 
BEQ 
AOD 
DEC 
BR 

CNP 
TST 

SOS 
DEC 
NOV 
CNP 



STSKNN.RI 

51$ 

tCVRL 

E$LSWT(R0),R1 



R1.ELSWT 
52$ 



GET ADDRESS OF TASK NANE BLOCK 
IF EQ NO TASK FILE 
CONVERT TO REAL ADDRESS 
GET TASK FILE SWITCH WORD 



SAVE SWITCH WORD FOR LATER 



$STBNN,R1 : GET ADDRESS OF STB FILE NANE BLOCK 

95$ ; IF EQ NO STB FILE 

$CVRL ; CONVERT TO REAL ADDRESS 

E$LSWT(R0),R1 : GET STB FILE SWITCH WORD 
••C<SW$PI!SW$NH>.R1 ; ISOLATE /PI. /NH SWITCHES 



;JAK100 



: 043 



DF 



R$$11N 



«SW$AC.R1 
60$ 

«SW$PR.R1 



$DFTSK.R3 
R1,R2 
R3.R1 
R2.R3 

R3.R1 

95i 

«0PSW,R5 

»0PSWN,R4 

«$SVNBF,R2 



(R5)*,R1 

70$ 

f4.(R2)« 

R5.(R2)» 

R3 

-2(R5).$DFTSK 

65$ 

R3 

(R5)».(R5)* 

R3.(R5)* 



??i' 



«1,-2(R2) 

-4{R2) 

75$ 

(R5)*.(R5)» 
(R5)* 



.•♦♦021 'ACP' TASK 

.•♦♦021 IF EQ NO 

.•♦♦021 SET VPR' SWITCH 



;EXCLUSIVE OR 
.•DEFAULT SWITCH WORD 
.•SWITCH WORD 



; IF EQ NO OPTIONS SELECTED 

;GET ADDRESS OF SWITCH VECTOR 

.•GET REPEAT COUNT 

;GET ADDRESS OF SVNBOL BUFFER 



.•OPTION SELECTED? 
.-IF EQ NO 

■INSERT OPTION TEXT ADDRESS 

;GET SWITCH DEFAULT VALUf 

; IF EQ NOT SET 

;SET SWITCH BIT 

;NOVE OVER CODE 

.•OEFAULT«yES? 

.IF EQ VES 

;ONIT "-" FRON TfXT 
;DECRENENT COUNT 



.•ADVANCE TO NEXT OPTION 



; 043 



R4.62$ .REPEAT 

-4(R|) ;DfCREN£NT COUNT of LAST 

fFNT24.R1 ;GET ADDRESS OF fORNAT 

R2.«tSrNBF^<<*S*0PSWN>iFILL BUFFER VET? 



•••• J It •••• 



r; 



MAffcn mitm u-htf.y/ no«.s PAf.r p-ii 



HPONE I^ACRO mi08 H-0EC-r7 09:55 PAGE 2-8 



277 0005^6 

278 000550 

279 000552 

280 000556 

281 000560 

282 000564 

283 00056A 

284 000570 

285 000574 

286 000600 

287 000604 

288 000610 

289 000614 

290 000616 

291 000622 

292 000626 

293 000632 

294 000632 

295 000636 

296 000642 

297 000644 

298 000650 

299 000654 

300 000660 

301 000660 

302 000664 
J03 000670 
304 

305 000674 

306 000700 

307 000704 

308 000712 

309 000714 

310 000722 

311 000724 

312 000724 

313 000730 

314 000734 
3(5 000740 

316 000744 

317 000744 

318 000750 

319 000752 

320 000756 

)1002 



103004 

005022 

012722 001172' 

000771 



012702 
016712 
012701 

012702 
016700 
001406 



OOOOOOG 
OOOOOOG 
000764' 

OOOOOOG 
OOOOOOG 



90S: 
95$: 



012701 000662' 



012702 
016700 
001406 



OOOOOOG 
OOOOOOG 



100S: 



012701 000723' 



012702 
016700 



OOOOOOG 
OOOOOOG 



110S: 



012701 001021* 

177070 177072 
177062 177064 



026767 

001 oo«; 
026767 
001410 



012702 
012712 
012701 



016712 
012212 
066712 
012701 

032767 
001441 
016722 



OOOOOOG 
000004' 
000301' 



n5»: 




oiJftf 



OOOOOOG 

OOOOOOG 
000244' 

OOOOOOG OOOOOOG 

OOOOOOG 
OOCOOOG 

OOOOOOG 176776 

177776 
OOOOOOG 



1201: 



130l> 



012701 001062' 



BHIS 90$ 

CLR (R2)* 

NOV «BLANK.(R2)t 

W 80$ 

CALL $MP0UT 

MOV f$SyMBF.R2 

NOV $MXyN0.(R2) 

NOV tFNT60,R1 

CALL $NP0UT 

NOV «$SVNBF,R2 

NOV $LaOFF,R0 

BEQ 100$ 

CALL NUL32 

NOV «FNTS6,R1 

CALL SMPOtJT ; PR INT 

NOV «$SrNBF,R2 

NOV $L8EXT.R0 

BEQ 110$ 

CALL NUL32 

NOV #FNT57,R1 

CALL $NPOUT 

NOV #$SVNBF,R2 

NOV SNXLGH.RO 

CALL NUL32 

NOV «FNr61 .R1 

CALL MPOUT 

CNP TENP. TOTAL 

BNE 115$ 

CNP TENP»2.T0TAL*2 

BEQ 120$ 

NOV f$SVNBF,R2 

NOV *T0TAL.(R2) 

NOV #FNT43.R1 

CALL $NP0UT 

NOV $0FFST.(R2) 

NOV (R2)*.<R2) 

ADD $HVRTL,(R2) 

NOV fFNT42.R1 

CALL SMPOUT 

BIT .9TS$KF.SSWTCH 

BEQ 140$ 

NOV $HDRBN.(R2)* 

Sy $R0eLK,(R2) 

e (R2) 

T «SW$NN.ELSWT 

130$ 

INC -Hm) 

NOV $REBLK.(R2) 

CALL $NPEDr 

NOV #FNT62.R1 



;IF HIS YES 

.•CLEAR COUNT 

;INSFRT ADDRESS OF BLANK FILLER 

:G0 AGAIN 

.•OUTPUT OPTIONS 



:NAX NUN. OF WINDOWS ALLOCATED 

.FORNAT ADDRESS 

•PRINT 

.■ADDRESS OF PARAMETER STORAGE 

.•LENGTH OF VSECT AREA IN 32 WORD ELKS 

:IF EQ DON'T PRINT 

.CALL NUfVER OF WORDS 

.ADDRESS OF FORMAT 



.ADDRESS OF PARAMETER STORAGE 

.■LENGTH OF EXTEND 

;IF EQ NONE -DON'T PRINT 

;GET NUM OF WORDS PER BLK 

.FONAT ADDRESS 

.PRINT 

; GET ADDRESS OF PARAMETER STORAGE 

.•GET NAX TASK SIZE 

;GET NUN OF WORDS PER BLK 

.'ADDRESS OF FORMAT 

.•WAS LBEXT OR LBOFF ADD IN? 
.•IF NE YES - PRINT TOTAL 
; WAS EITHER ADDED IN? 
;IF EQ NO 

.ADDRESS OF PARAMETER BUFFER 
.ADDRESS OF TOTAl STORAGE 
; FORNAT ADDRESS 
.•PRINT TOTAL STORAGE 

; SET TASK OFFSET 

; COPY OFFSET 

; CONPUTE TOP VIRTUAL ADDRESS 

; GET ADDRESS OF FORMAT 

; OUTPUT NAP FILE 

; TASK INAGE FILE SPECIFIED? 

; IF EQ NO 

; START BLK OF TASK IMAGE 

; LAST BLK IN R>W IMAGE 

; BACK OFF BY ONE 

; BiHLDING LIBRARY'' 

; IF EQ NO 

; STARTING BLK li ONE GRtAfFR 

; LAST BLK IN LIBRARY 

; CALCULATE Sl/F 

; GET ADDRESS OF FORNAT 



; 043 



043 
043 



043 
043 



045 
045 



JAK100 
JAK100 
JAK100 
JAKIOO 
JAK100 
JAK100 
JAKIOO 
JAKIOO 
JAKIOO 
JAKIOO 
JAKT" 
JAK1 



•••• K 11 •«•« 



H4fan MiiOR u-PFf-r; oqjSS PAGF 2-9 



MPONE MACRO Ml 108 U-OEC-77 09:55 PAGE 2-9 



001102 
001102 



334 001 OAO 

335 0010A4 

336 001052 

337 001 05A 

338 001060 

339 001 06A 
3A0 001070 
3A1 001074 

342 001100 

343 001100 
344 

345 
346 
347 
348 
349 
350 
351 
352 
353 
354 
355 
356 

357 001106 

358 001112 
359 

360 
361 
362 
363 
364 
365 
366 
367 
368 
369 
570 
371 
372 
373 
374 
375 



001116 
001120 
001124 
001132 
001136 
001144 



001 U6 
001146 
001150 



IJ? §8'"' 



378 
379 




1156 
001162 
001166 
001170 
001172 
1174 
1176 

IP 

1204 

1204 

001210 

001210 

001^12 



032767 
001412 
016722 
016712 



010032 
010167 
066767 
005567 
066767 



OOOOOOG 176742 

OOOOOOG 
OOOOOOG 



012701 001126* 



140S: 



CALL 

BIT 

BEQ 

MOV 

MOV 

CALL 

MOV 

CALL 

RETURN 



SMPOUT 

«SWSMU.ELSWT 

140S 

SR0BLK,(R2)t 

SREBLK.(R2> 

IMPEDT 

#FHT63,R1 

SMPOUT 



OUT LINE 
MULTIUSER TASK? 
IF En NO 

START BLK OF R-O 
END BLK OF R-O 
CALCULATE LENGTH 
ADDRESS OF FORMAT 
OUTPUT LINE 



;JAK100 
;JAK100 
;JAK100 
rJAKlOO 
;JAK100 
;JAK100 
;JAK100 
;JAK100 
;JAK100 



; MUL32-MULTIPLIES NUMBER IN RO BY 32 THEN 
ADDS RESULT TO TOTAL 



012712 000000* 



MUL32: 



MOV «TEMP.(R2) .-ADDRESS OF DOUBLE-PRECISION PARAMETER 

.IF DF V1145 

NUL «32..R0 

.IFF 



043 



012701 000040 



MOV #32.. R1 
CALL IMUL 



176656 

176652 176654 

176646 

1 76636 1 76640 



.ENDC 

MOV 
MOV 
ADD 
ADC 
ADD 
RETURN 



R0.a(R2)« 
R1.TEMP*2 
TEMPt2, TOTAL t2 
TOTAL 
TEMP. TOTAL 



.'GET NUMBER OF WORDS PER BLOCK 
.-MULTIPLY 



;SET HIGH PART OF LENGTH 
;SET LOW PART OF LENGTH 
;ADD LOW PART TO TOTAL 
.-ADD CARRY 
; INCLUDE HIGH PART Of RESULT 



043 

043 

043 
043 



043 
043 



MPTSK-SETUP TASK NAME IN BUFFER 



010246 

016701 OOOOOOG 

001413 

062700 000004G 
011602 

mi 

012022 
01202i? 
012022 
000405 

012701 000005 

005022 



MPTSK: 



101) 
20S: 



MOV 

MOV 

BEQ 

CALL 

ADD 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

•R 

MOV 

CLR 
SOB 



R2.-(SP) 

tTSKNM.RI 

101 

ICVRL 

«EtLMND>4.R0 

(SP).R2 

(R0)s(R2)« 

(R0>«,(R2)* 

(RQ)».(R2)* 

(r6)»,<R2)* 

(R0)».(R2)* 

SOS 

#5.R1 

(R2)» 
R1.20t 



SAVE PARAMETER BLOCK ADDRESS 
GET ADDRESS OF TASK NAME BLOCK 
IF EQ NO TASK FILE 
CONVERT TO REAL ADDRESS 
STEP PAST DEVICE AND UNIT 
RESTORE PARAMETER BLOCK ADDRESS 
SETUP FILE NAME 



SETUF MLE TYPE 

SETUP FILE VERSION NUMBER 



.-SET LOOP COUNT 

; CLEAR TASK FRl NAM! 



•••• L jy «••• 



MPONI MACRO M1108 U-OfC-77 09-55 PAGf 2-10 



MPONE MACRO M1108 U-OEC-77 09r55 PAGE 2-10 



391 001216 

392 001216 

393 001220 
39A 

395 
396 
397 
398 
399 
400 
A01 
A02 
403 

404 001222 

405 001222 

406 001230 

407 001232 

408 001236 

409 001242 

410 001246 

411 001252 

412 001256 

413 001262 

414 001266 

415 001274 

416 001302 

417 001304 

418 001312 

419 001312 

420 001316 

421 001522 

422 001322 
423 

424 
425 
426 
427 
428 

429 001324 

430 001324 
' 001350 

001554 
001540 

454 001544 

455 001552 

456 0O1554 



451 
452 
453 



005726 



30$: 



026727 
001434 

012701 

012701 

012701 

012767 
032767 
001003 
012767 

012700 



TST 
RETURN 



($?)♦ 



; CLEAN STACK 



SMPOLD-CREATE AND OUTPUT OVERLAY DESCRIPTION IN LOAD MAP 

INPUTS: 

SNUMSG-NUMBER OF SEGMENTS 

OUTPUTS: 

OVERLAY DESCRIPTOR 



OOOOOOG 000001 

000423' 
000515' 
000461 ' 



iMPOLD:; 



01270? 
026767 
00 J 003 
016767 



447 001422 



000005 
OOOOOOG 

000002 

001324' 



176514 
OOOOOOG 

176476 



10t: 
20$: 



CMP 
MQ 

CALL 

MOV 

CALL 

MOV 

CALL 

MOV 

CALL 

MOV 

BIT 

BNE 

MOV 

MOV 
CALL 

RETURN 



$NUMSG>1 

20$ 

MPTSK 

«FMT48,R1 

IMPOUT 

«FMT50,R1 

$MPOUT 

«FMT49,R1 

$MPOUT 

#5, TAB 

«UI$DE,$SWTCH 

10$ 



.•MORE THEN ONE SEGMENT? 
:IF EO NO 
; GET TASK NAME 
;ADDRESSS OF HEADING 

.■ADDRESS OF COLUNM HEADINGS 

.'UNDER SCORE 

; INITIAL FOR WIDE LISTING 
.•NARROW LISTING? 
.■IF NE SO 



#2. TAB .'SET FOR NARROW LISTING 

«MPOLD.R0 
$PCTRL 



MPOLD- GENERATE OVERLAY DESCRIPTOR 



MPOLD: 



016700 OOOOOOG 



OOOOOOG 
OOOOOOG 




OOOOOOG 
OOOOOOG 



10$: 



SAVRG 
MOV 
CALL 
MOV 

Si 

MOV 



OOOOOOG 
OOOOOOG 
\77776 



1 77/76 



$CRVSG,RO 

$ADRSM 

nSYMBF.R? 

$CRVSG.iRTSEG 

10$ 

$OFFST.$BEGRW 

$BEGRW.(R2)t 

$ENDRW.(R2) 

(R2),-2(R2) 

15$ 

I6EGR0.-2(R2) 

$ENDR0.(R2> 

<R2).-^R2> 

15$ 

(r|)» 



;SAVE NON-VOLATILE REGISTERS 

:GET VIRTUAL ADDRESS OF CURRENT SEGMENT 

;SET ADDRESS LIMITS 

.•ARGUMENT BUFFER ADDRESS 

; CURRENT ROOT? 

;1F NE NO 



.•INSERT S1AT ADDRESS 

.'LENGTH 7E»0? 
.•IF NE NO 
; R-0 SrOMENT BASE 
; R-0 SEGMENT END 
; ZERO LENGTH? 
; IF NE NO 



;.JAK100 
;JAK100 
;JAK100 
;JAIC100 



«••• M 11 •••• 



MPONE M^CROM1108 14-01C-77 09i55 PAGE 2-11 



MPONF. ^KtHO n 


U8 00H2A 


4A9 00U26 


450 00U30 


A51 0OU50 


A52 0OU3A 


A53 00U36 


A54 00U36 


455 00UA2 


A56 


457 0OUA6 


A58 00U50 


A59 00U50 


A60 0OU5A 


461 001460 


462 001460 


463 001462 


464 001466 


465 001472 


466 


467 001476 


469 001502 


469 


470 001506 


471 001506 


472 


473 



005022 
000403 




005722 




016712 
016703 


176346 
OOOOOOG 


001404 




066712 


176334 


005722 
016700 
016022 
016012 


OOOOOOG 
OOOOOOG 
000002G 


012701 


000371 ' 



000001 



:55 PAGE 2- 


•11 






ft* 


(R2)* 
20$ 


151: 








CALL 


SMPEDT ; CALCULATE LENGTH 




TST 


(R2)* t 


20S: 








Si 


TAB.(R2) 




$LVL,R3 .'START CALCULATION FOR TAB 




BEQ 


30$ ;1F EQ LEVEL >= 


25$: 








ADD 


TAB.(R2) ;ADD INDENT VALUUE 

R3,25$ ;DEC LEVEL COUNT AND CONTINUE TILL ZERO 




SOB 


30$: 








Tjl 


(R2)* 




Sv 


$CRSEC,RO :GET ADDRESS OF CURRENT SEGMENT 
S$GNnE(R0).(R2)^ .-INSERT SEGMENT NAME 
S$6NME>2(r6>.(R2) 




Sw 




MOV 


#FMT47,R1 .-ADDRESS OF FORMAT 




CALL 


$MPOUT 


40$: 


RETURN 
.END 





•••• N 11 **•• 




MPQNE MACRO Ml 108 
SYMBOL TABLE 



BLANK 

CR 

ELSUT 

EtLMND* 

Et: SWT« 

Fr « 

FMT2Q 

FHT2S 

FMTZA 

FMTA2 

FMTA3 

FMTA7 

FNT4B 

FNU9 

FMT50 

FHT51 

FHT53 

FMT5A 

FHT55 

FMT56 

FMT57 

FNT6 

FNT60 



H-OEC-77 09:55 PAGt 2-12 



1AR 
*•««** GX 
*•••*« GX 

OOOOU 
0000S4R 
0001 UR 
00OU3R 
0C02A4R 

m^i 

000425R 
900461 R 
00051 SR 
000M2R 
000551 R 
000604R 
000633R 
00066|r 

0007MR 



003 FMT61 
FI>IT62 
FnT63 
FNT7 
G.T1CP« 
6.T1CT« 
003 G.TIDA< 
003 G.TIHR- 
003 G.Tini> 
003 G.TIMO* 
003 6.T1SC- 
003 G.TIVR' 
003 HT 



Ukt 000000 

001510 
STBLIO 000170 
MTXltO 001 17A 
ERRORS DETECTED: 



IDENT 
003 LF 
003 MPOLD 
003 MPTSK 
003 MULS2 
003 OPSW 
003 OPSWN ■ 
003 RttllN- 
003 SPA « 
003 SWtAC ■ ***•«* GX 

000 
001 
002 
003 



1Q21R 
.1062R 
001126R 
000026R 
000016 
OOOOU 
00* 
06 

... 0? 
000012 
000000 

00001 2R 

000012 

001324R 

001 U6R 

001102R 

OOOOOOR 

000017 

000000 

000040 



00^ SW$AL0> 

003 swscn •> 

003 'iWtCP « 
003 SWtDA s 
SWtEA « 
SWIFP « 
SWtMU > 
SWSNH > 
SWSNS « 
SWSNT « 
SMPI < 
SWSPM ■ 
5WSPR > 
SWtSL « 
SWtTR « 
SSGNME> 
TAB 
TEMP 
002 TOTAL 
TSSKF > 
VT « 
WItDE > 
tADRSM> 



GX 
GX 
GX 
GX 
GX 
OX 
GX 
6X 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 

OOOOOOR 
000004R 

*•**•* GX 

000013 
•****• GX 
•*•«•* GX 



VIRTUAL MEMORY USED: 1837 WORDS ( 8 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:28 
C81 ,203MPONE . C31 . 303mPONE/-SP«C31 . lOlMACFLM.MPONE 



IBEGRO> 

S6EGRW> 

ICRSFG> 

KRVSG> 

tCVRL ' 

IDFTSKc 

lENORO* 

IENDRW« 

IFMT16' 

>HDRBN> 

IHDSIZ> 

IHVRTL" 

IIDENT- 

»LBEXT> 

$LBOFF> 

»LVL « 

IMPEDT' 

IMPHDG 

tMPOLD 

•MP0T1" 

IMPOUT- 

IMUL ■ 

IMXLGH- 



«**** GX 
***** (:>( 
***** GX 
***** GX 
***** GX 
***** GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 



***** 

***** 
***** 



***** 
***** 
***** 
***** 
00001 6RG 
001222RG 
***** GX 
***** GX 
***** GX 
♦•*** GX 



$MXWND> 

SNUMSGc 

SODTADo 

$OFFST« 

$PCTRL« 

SPNAME* 

SPRIOR* 

SREBLK- 

MCBLK' 

IRTSEG* 

tSAVRG> 

ISTACK" 

SST»#I« 

ISWTCH> 

tSVMBF> 

$T1TLE" 

ITKUIC- 

STNAME- 

tTSKNM- 

IVERSN- 

tXFRAO> 

SI 

IIIOST« 



000001 
000020 



GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
6X 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 



*•** I 12 **•• 




••*• C 12 **** 



MPOUV MACRO mi 08 U-DEC-77 09:56 PAGE 3 



$4 QOQOOO 

55 000004 

56 000006 
57 



127402 046324 



•TITLE MPOUT 
.IDENT /02/ 



COPYRIGHT (C) 1976 

DIGITAL EQUIPMENT CORPORATION. MAYNARD, MASS. 

',HIS SOFTVARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 02 

D N. CUTLER/C. MONIA 25-JAN-74/ J.A.KASSON 20-APR-76 

MODIFICATIONS 

NO. DATE PROGRAMMER 



.••*-1 



.••♦-1 



021 


25-JAN-74 


C. MONIA 


034 


07-JAN-75 


C. MONIA 


036 


14-JAN-75 


C. MONIA 


039 


22-MAR-75 


C. MONIA 


043 


2B-OCT-/'5 


C. MONIA 


048 


11-FEB-76 


C. MONIA 


053 


17-KAR-76 


C. MONIA 



;»*NEW** 



MONITOR DEPENDENT LOAD MAP OUTPUT ROUTINES 
MACRO LIBRARY CALLS 

.MCALL GTIMfS,PUT$S 



LOCAL DATA 



BLKNM! .RAD50 /. BLK./ 
tMPFLG::.BLKW 1 
tSYMBF : : .BLKW 60. 



;NAME OF BLANK CONTROL SECTION 
;MAP BUFFER TRUE /FALSE FLAG 
,•♦♦034 SYMBOL OUTPUT BUFFER 



*••• D 12 ***• 



MPOUT MACRO HI 108 U-DEC-77 09:56 PAGE 3-1 



58 
59 
60 
61 
000003 
000006 
000011 
62 
63 
64 
000023 
000026 
000031 
000034 
000037 
000042 
000045 
000050 
000053 
000056 
000061 
000064 
000067 
000072 
000075 
000100 
000103 
65 
000107 
000112 
000115 
000120 
000123 
000126 
66 
000132 
000135 
000140 
000143 
000146 
67 
000154 
000157 
000162 
000165 
000170 
000173 
000176 
000201 

68 
000206 
000211 
000214 

888llf 

70 



000000 



000000 


045 


062 


040 


045 


120 


045 


062 


101 


040 


040 


OOO 


000014 


040 


040 


000016 


055 


122 


000020 


045 


106 


130 


040 


0^:0 


040 


115 


105 


115 


117 


122 


131 


040 


101 


114 


114 


117 


103 


101 


124 


111 


117 


116 


040 


115 


101 


120 


040 


O40 


124 


113 


102 


040 


045 


062 


122 


040 


040 


040 


040 


040 


040 


120 


101 


107 


105 


O40 


045 


115 


045 


116 






000104 


045 


062 


045 


061 


065 


123 


045 


131 


040 


040 


O40 


045 


062 


132 


045 


064 


116 


000 






000127 


045 


064 


052 


052 


052 


052 


052 


052 


052 


052 


052 


052 


052 


052 


045 


062 


116 


000151 


125 


116 


105 


106 


111 


116 


105 


104 


040 


122 


105 


106 


105 


122 


105 


116 
123 


103 


105 


072 


040 


045 


062 


116 






000203 


Q4C 




062 


000215 


045 


116 


040 


040 


000225 


045 


06? 


?§S 


117 



.PSECT MTXTSO.D.GBL 
122 FMTIO: .ASCIZ /X2R XPX2A / ; 



FMTU: .ASCII / / 
fHT15: .ASCII /-R/ 
045 $FMri6::. ASCII /XFXX MEMORY ALLOCATION MAP JKB X2R 



PAGE SMXN/ 



122 



.ASCIZ /X2RS1SSXV X2ZX4N/ 



116 FMT21: .ASCII /X4N**»******»**X2N/ 



104 



.ASCIZ /UNDEFINED REFERENCES: X2N/ 



040 rMT22: .ASCIZ / X2RXN/ 

040 FMr23f .ASCIZ / X2R/ 

124 FMT42; .ASCIZ /TOTAL TASK SIZE: XH. WORDSXN/ 



**** E 12 **** 



MPOUT MACRO Ml 108 U-DEC-77 09:56 PAGE 3-2 



000230 


101 


000233 


124 


000236 


113 


000241 


111 


000244 


072 


000247 


115 


000252 


127 


000255 


104 


000260 


116 


71 


000262 


000265 


052 


000270 


040 


000273 


123 


000276 


102 


000301 


114 


000304 


122 


000307 


124 


000312 


111 


000315 


111 


000320 


072 


000323 


116 


72 000324 


000327 


124 


000332 


101 


000335 


127 


000340 


113 


000343 


111 


000346 


040 


000351 


106 


000354 


105 


000357 


105 


000362 


040 


000365 


056 


000370 


000 


73 000371 


000374 


127 


000377 


113 


000402 


106 


000405 


105 


000410 


122 


^ooSiJ 


104 
040 


000421 


056 


74 000424 


000427 
000432 


127 


113 




106 
105 


000443 


Hi 


000446 


105 


000451 


040 


0004 }4 


056 


000457 


000 


75 000460 


8o0466 


!§,' 


000471 


106 



114 


040 


101 


123 


040 


123 


132 


105 


040 


045 


056 


040 


117 


122 


123 


045 


000 




045 


064 


052 


052 


124 


101 


113 


040 


125 


111 


104 


103 


040 


123 


101 


124 


123 


124 


103 


123 


045 


062 


045 


064 


117 


124 


114 


040 


117 


122 


040 


106 


114 


105 


122 


105 


105 


122 


116 


103 


123 


072 


045 


124 


045 


116 


045 


064 


117 


122 


040 


040 


111 


114 


040 


040 


105 


101 


123 


072 


045 


124 


045 


116 


045 


064 


117 


?l^ 


040 


111 


040 


127 


111 


124 


123 


072 


045 


124 


045 


116 


045 

111 


117 
103 


n 



116 FMT43: .ASCII /J4N*** TASK BUILDCR STATISTJCS:I2N/ 



123 



.ASCIZ /S4ST0TAL WORK FILE REFERENCES: ST.XN/ 



123 FnT44: .ASCII /I4SW0RK FILE READS: ST.XN/ 



123 



.ASCi; /X4SW0RK FILE WRITES: ST.XN/ 



123 FMT45I .ASCJI /X4SS1ZE OF CORE POOL: XM. WORDS (XM. PAGES)XN/ 



•*•• t 12 **** 



NPOUT MACRO mi08 U-DEC-77 09:56 PAGE 3-3 



000A7A 
00W77 
000502 
000505 
000510 
000513 
000516 
000521 
00052A 
000527 
000532 
76 
0005A0 
0005A3 
0005A6 
000551 
00055A 
000557 
000562 
000565 
000570 
000573 
000576 
000601 
00060A 
000607 
000612 
77 
000617 
000622 
000625 
000630 
000633 
000636 
0006<i1 
78 
79 
80 
81 



117 
040 
117 
OAO 
056 
117 
123 
0A5 

o<;o 

107 
051 

000535 
123 
105 
106 
117 
OAO 
1U 
OAO 
056 
117 
123 
0A5 
OAO 
107 
051 
116 

00061 A 
105 
120 
10A 
111 
072 
132 
000 

0006A2 



000176 



122 
120 
11A 
0A5 
OAO 
122 
OAO 
115 
120 
105 
0A5 
0A5 
111 
OAO 
OAO 
122 
106 
105 
0A5 
OAO 
122 
OAO 
115 
120 
105 
0A5 
000 
0A5 
11A 
123 
OAO 
115 
0A5 
0A5 

0A5 



105 
117 
072 
115 
127 
10A 
050 
056 
101 
123 
116 
06A 
132 
117 
127 
113 
111 
072 
115 
127 
10A 
050 
056 
101 
123 
062 

06A 
101 
105 
12A 
105 
063 
116 

116 



123 



.ASCIZ /XASS12E OF WORK FILE: XM. WORDS (W. PAGES)t2N/ 



123 FMTA6: .ASCIZ /lASELAPSED TIME:%3ZIN/ 



000 FMT57: .ASCIZ /IN/ 
.EVEN 
.PSECT 



**-$nPCAL-CALCULATE ADPRESS LIMITS OF SECTION AND RELOCATE 

INPUTS! 

RO'ADDRESS OF SECTION TABLE ENTRY 

R2>PARAnETER BUFFER ADDRESS. BUFFER IS SETUP AS FOLLOWS 



.WORD 
.WORD 
.WORD 



CSSCUR 
CISCUR 
LENGTH 



R2» 

OUTPUTS: 

PARAMETER BUFFER SETUP AS FOLLOWS: 



CURRENT BASE 
CURRENT BASE 
LENGTH CONTRIBUTED BY MODULE 



••*• 6 12 ***• 



MPOUT MACRO Ml 108 U-OEC-77 09:56 PAGE 3-A 



00 
01 
02 
03 
04 
05 
06 
07 

08 000176 

09 000176 

10 000200 

11 000202 

12 000204 

13 000206 
H 000210 

15 000216 

16 000220 

17 000226 

18 000230 

19 000236 

20 000240 

21 000244 

22 000250 

23 000252 

24 000252 

25 000254 

26 000256 

27 000262 
28 

29 
30 
31 

34 
35 
36 

37 000266 

38 000270 

39 000272 
40 

41 



Jf 



000276 
000300 

45 000302 

46 000304 



44 



012212 
005742 
001402 
061242 
005322 
132760 
001432 
032760 
001026 
132760 
001005 
066742 
066742 
000415 



010046 
016046 
016046 



014200 
012601 



062601 
010112 
012600 




016022 
"16022 

M 

1006 



SMPCAL: 



OOOOOOG OOOOOOG 10S: 
OOOOOOC OOOOOOG 
OOOOOOG 000001 G 



OOOOOOG 
OOOOOOG 



OOOOOOG 
OOOOOOG 



15S: 



201: 



MOV 

TST 

BEQ 

ADD 

DEC 

BITB 

BEQ 

BIT 

BNE 

BITB 

BNE 

ADD 

ADD 

BR 

CALL 
MOV 
MOV 
MOV 



CLR 
MOV 
DIV 

.IFF 

MOV 
MOV 
CALL 

.ENDC 

ADD 
MOV 
MOV 
RETURN 



.WORD CSSCUR 

.WORD TOP 

.WORD LENGTH 

.WORD LENGTH 



CURRENT BASE (RELOCATED) 
TOP ADDRESS CONTRIBUTED BY MODULE 
LENGTH CONTRIBUTED BY MODULE 
LENGTH CONTRIBUTED BV MODULE 



(R2)+,(R2) ; COPY LENGTH 

-{R2) ; TEST LENGTH, ADJUST POINTER 

10S : IF EO ZERO LENGTH 

(R2),-(R2) .-ADD LENGTH TO BASE ADDRESS 

(R2)t :BACK OFF TO REAL ENDING ADDRESS 

«CSSREL,CtSFLG(RO);ABS SECTION? 

20$ :IF EQ YES 

*<CS$VAS*400!CS$LIB>.C»SFLG(R0);LIB SECTION? 

20S ;IF NE YES 

«CSSVSC,C$SFLGt1(R0) ; VIRTUAL SECTION? 

15S ; IF NE YES 

S0FFST.-(R2) ; RELOCATE ENDING ADDRESS 

»0FFST.-(R2) : RELOCATE STARTING ADDRESS 

20t ; EXIT 



; 043 
; 043 
; 043 
; 043 

;*♦-! 



(PC) ; 

R0,-(SP) ; 

CSS6SE(R0).-(SP) 
C$SLTH(R0).-(SP) 



,IF DF V1145 



RO 

-(R2),R1 

(SP)».R0 



-(R2).R0 
(SP)t.RI 
SDIV 



(SP)».R1 
R1.(R2) 
(SP)* "0 



COMPUTE BASE ADDRESS 
SAVE ADDRESS OF SECTION 

; SAVE BASE ADDRESS 

; SAVE LENGTH 



CLEAR HIGH PART OF LENGTH 

GET TOP ADDRESS 

DIVIDE 



GET TOP ADDRESS 
GET LENGTH 
DIVIDE 



RELOCATE ADDRESS 
SET ADDRESS 
RESTORE RO 



OOOOOOG 
0000026 

177774 



CHECK FOR BLANK SECTION NAME 



•MPCHK!! MOV SIYM(R0).(R2)» : INSERT FIRST HALF OF SYMBOL 

MOV SIYM»2(R0).(R2)»; INSERT SECOND HALF OF SYMBOL 

BNE 10S ;1F NE SECOND HALF NONZERO 

TST -4(R2) ;TEST FIRST HALF 

BNE lot .'IF NE LEAVE AS IS 



•*** 



TTT 



•**• 



MArbn Mtirta 4i._ftkr.y9 na.tA ttAAt V.* 



MPOUT MACRO mi08 U-DEC-77 09:56 PAGE 3-5 



157 000326 

158 000334 

159 000342 
160 

161 
162 
163 
164 

165 000344 

166 000346 

167 000352 

168 000354 

169 000356 
170 

171 
172 
173 
174 



016762 177446 177774 
016762 177442 177776 



10S: 



MOV 
MOV 
RETURN 



BLKNM,-4(R2) 
BLKNMt2.-2(R2) 



SET DEFAULT BLANK SECTION NAME 



EDIT SIZE 



012212 

166212 177774 

005212 

012212 



SMPEDT: 



SUB 
INC 
MOV 
RETURN 



MOV (R2)t,(R2) ;COPY ENDING ADDRESS 
-4(R2),(R2) .-SUBTRACT STARTING ADDRESS 
(R2) .-INCREMENT TO MAKE LENGTH 

(R2)*.(R2) .- COPY LENGTH 



; 043 



SET UP FILE NAME IN BUFFER 



175 000360 


062701 


000102 


176 000364 


016122 


000006 


177 000370 


016122 


000010 


178 000374 


016122 


000012 


179 000400 


016122 


000014 


180 000404 


016122 


000016 


181 000410 






182 






183 






184 






185 






186 






187 0(0412 






188 0(0412 






189 0(0416 


105767 


177362 


190 0(0422 


001005 




191 0(0424 


012702 


000006' 


192 0(0430 


005067 


177350 


193 0(0434 






194 0(0436 






195 000442 


005005 




012702 


000006* 


197 000450 

198 0((454 


116703 


177330 


012700 


OOOOOOG 


IH iMi*60 


012701 


000000* 


isim 


060105 




02 000472 
04 000500 






010501 






012701 


000642' 


207 000514 







SMPFLE! 



MOV 
MOV 
MOV 
MOV 
MOV 
RETURN 



ADD «F.FNB.R1 ;P0INT TO FILE NAME BLOCK 

N.FNAM(R1),(R2)*;SET FILENAME 

N.FNAM*2(R1).(R?)t; 

N.FNAnt4(R1).(R2)t,- 

N.FTVP(R1),(R2)*;SET FILE TYPE 

N.FVER(R1).(K2)^SET FILE VERSION 



FLUSH SYMBOL BUFFER 



SMPFSH: 



10S< 



201: 



SAVRG 

TSTB 

BNE 

MOV 

CLR 

RETURN 

CALL 

CLR 

MOV 

MOVB 

MOV 

MOV 

CALL 

ADD 

SOB 

MOV 

CALL 

MOV 

CALL 

RETURN 



SMPFLG 

lot 

«ISYMBF.R2 

IMPFLG 

WPTLE 

R5 

«tSYMBF.R2 

IMPFL6,R3 

«IOUTBF.RO 

♦FMTIO.RI 

tEDMSG 

R1,R5 

R3.20t 

R5,R1 

MP0UT2 

#FMT57,R1 

SMPOUT 



IS BUFFER EMPTY? 
IF NE BUFFER FULL 
ASSUME BUFFER EMPTY 
MAKE SURE FLAG IS CLEAR 

PAGE FULL? 

ASSUME BUFFER EMPTY 
GET BUFFER FLAG VALUE 

.-ADDRESS OF OUTPUT BUFFER 

.-EDIT ONE COLUNM AT A TIME 
;RUNNING TOTAL OF LINE LENGTH 

.-LENGTH IS EXPECTED IN R1 
.-OUTPUT WHOLE LINE 

.-END OF LINE INSERT CR-LF 



MS 000516 012702 000006' 



MAP OUTPUT ROUTINE 
SMPOUT: :MOV 4rtSYMBF.R2 .-GET ADDRESS OF ARGUMENT BLOCK 



•••• I 12 **** 



MAr^ft M1t#va l£-l\>r-f* AaiSA BAftC t_A 



MPOUT MACRO Ml 108 U 


-DEC -77 09:56 PAGE 3-6 






Zyt^ 000S22 


010246 




SMP0T1 : :M0V 


R2,-(SP) ;SAVE BUFFER ADDRESS 




215 00052A 


010146 




MOV 


RI.-(SP) .-SAVE FORMT ADDRESS 




216 000526 






CALL 


IMPTLE .-TEST FOR FULL PAGE 




217 000532 


012601 




MOV 


(SP)*,R1 .'RESTORE FORMAT ADDRESS 




218 000534 


012602 




MOV 


(SP)t.R2 .RESTORE BUFFER ADDRESS 




219 000536 


012700 


OOOOOOG 


MP0T2: MOV 


«tOUTBF,R0 :GET ADDRESS OF OUTPUT BUFFER 




220 000542 






CALL 


SEDMSG .'EDIT OUTPUT MESSAGE 




221 0005A6 


016700 


OOOOOOG 


MP0UT2: MOV 


WAPPT.RO .'GET MAP FILE RECORD BLOCK 




222 000552 

223 000570 






PUTIS 


R0.M0UTBF.R1 ; OUTPUT RECORD 
30t :IF CC OKAV 




103006 




BCC 




22A 000572 


016002 


OOOOOOG 


MOV 


RSMME(R0).R2 .GET ADDRESS OF NAME STRING 




225 000576 


012701 




MOV 


(PC)*,R1 .GET ERROR/SEVERITy 




226 000600 


OOOG 


OOOG 


.BYTE 


ESR25.StV2 .'FATAL -NO RETURN 




227 000602 






CALL 


SERMSG .'OUTPUT ERROR MESSAGE 




228 000606 


005067 


177172 


30S: CLR 


•MPFLG ;SET MAP FLAG TO 'TALSE" 




229 000612 


012702 


000006' 


MOV 


#tSYMBF.R2 ;RETURN ADDRESS OF SYMBOL BUFFER 




230 000616 
231 






RETURN 






232 












233 

234 






; TITLE - SKIPS 


TO NEXT PAGE AND OUTPUTS TITLE 




235 

236 000620 






IMPTLE:: 






237 000620 


026727 


OOOOOOG OOOOOOG 


CMP 


tLNCNT .«PSLNTH .PAGE FULL? 




238 000626 


100424 




BMJ 


40t ;IF LT NO 




239 000630 


016700 


OOOOOOG 


MOV 


SCRSEG.RO .'GET ADDRESS OF CURRENT SEGMENT 




l'!9 !rtft}$?t 


016067 


OOOOOOG OOOOOOG 


MOV 


StGNME(RO).tSTTLE .INSERT SEGMENT NAME 




241 000642 


016067 


000002G 000002C 


MOV 


SIGNMEt2(R0).ftSTTLE*2 .INTO SUBTITLE 




242 000650 


005267 


000016G 


INC 


tTITLE*U. : INCREMENT PAGE COUNT 




243 000654 


016746 


177124 


MOV 


IMPFLG.-(SP) ;SAVE BUFFER FLAG 




244 000660 


012702 
012701 


OOOOOOG 


MOV 


MTITLE.R2 .GET ADDRESS OF TITLE BUFFER 




245 000664 


000020* 


MOV 


»tFMT16.Rl ;GET ADDRESS OF TITLE FORMAT 




246 000670 






CALL 


MP0T2 .'OUTPUT TITLE 




247 000674 

248 000700 


012667 


177104 


RETURN 


(SP)*,SMPFLG {RESTORE BUFFER FLAG 




fc^W WW' w 

249 000700 

250 

251 








; 043 


252 
253 

254 






;♦ 

; ••-IMPSTS-OUTPUT TASK BUILDER STATISTICS 


255 
256 
257 






'' J.t!15J^*''0^^"* 'S CALLED TO WRITE THE WORKFILE 


J 






; USEAGE STATISTICS INTO THE MAP FILE 


2JJ 


258 
259 






; INPUTS: 




043 
045 
04! 
043 


260 
261 






i iaCTlM>STARTING TASK BUILD TIME 






t tfRSi;* 


SIZE Of CORE POOL 


043 






t tHGVAn>SIZE or WORKFILE (IN WORDS) 


045 






I MRKAC-NIMBER OF WORKFIIE ACCESSES (DOUBLE PRECISION) 


043 






1 IWRKRD- 
1 IWRKWR- 


NUMBCR OF WORKFILE READS (DOUBLE PRECISION) 


043 






NUMBER OF WORKFILE WRITES (DOlfiLE PRECISION) 


04! 


1 






.; OUTPUTS: 




81! 
04! 


l« 






i WORKFILE STATISTICS ARE APPENDED TO THE MAP FILE 



**•• J 12 •*•• 



MArmn mifiM ii.-htf-7/ nQ\t, PAr.t \.T 



HPOUT MACRO mi 08 U-OEC-77 09:56 PAGE 3-7 



271 

272 

273 000702 

27A 000702 

275 000706 

276 000712 

277 000720 

278 000722 

279 000730 

280 000730 

281 00073A 

282 0007A0 

283 000744 

284 000750 

285 000754 

286 000760 

287 000764 

288 000766 

289 000770 

290 000772 

291 000774 

292 000776 

293 001002 

294 001004 

295 001010 

296 001012 

297 001014 

298 001020 

299 001024 

300 001036 

301 001042 

302 001046 

303 001052 

304 001052 

305 001054 

306 001056 

307 001062 

308 001066 

309 001066 

310 001072 

311 001076 



012702 


000006' 


012722 


OOOOOOG 


026727 


OOOOOOG 1 77771 G 


003403 
012767 




OOOOOOG OOOOOOG 


012701 


000262' 


012722 


OOOOOOG 


012722 


OOOOOOG 


012701 


000371' 


016712 


OOOOOOG 


000241 




006012 




012212 




105012 




000322 




016712 


OOOOOOG 


012212 




062712 


000377 


105012 




000312 




012701 


000460' 


012701 


000003 


012700 


OOOOUC 


012702 


000022' 


164042 




100004 




(62712 


000074 


005362 


177776 



SMPSTS: 



5S: 



012701 000614' 



lOli 



20S: 



NOV 
NOV 
CNP 
8LE 
NOV 

NOV 

CALL 

NOV 

NOV 

NOV 

CALL 

NOV 

CLC 

ROR 

NOV 

CLRB 

SyAB 

NOV 

NOV 

ADD 

CLRB 

SWAB 

NOV 

CALL 

GT1N9S 

NOV 

NOV 

NOV 

SUB 
BPL 
ADD 
DEC 

SOB 

NOV 
CALLR 



«SSVNBF.R2 ; GET ADDRESS OF PARANETER STORAGE 
#$yRKAC,(R2)» ; GET POINTER TO WORK FILE ACCESS COUNT 
lLNCNT.*PSLNTH-7 ;ROON FOR TITLE ON THIS PAGE 
51 ;IF LE YES 

fPSLNTH.SLNCNT .-FORCE TO NEW PAGE 



«FNT43.R1 

SNPOUT 

#SWRKRD.(R2)t 

#SWRKWR.(R2)t 

«FNT44,R1 

INPOUT 

tFRSIZ,(R2) 

(R2) 

{R2)t.(R2) 

(R2) 

(R2)» 

tHGVAD.(R2) 

i;R2)»,(R2) 

#377. (R2) 

(R2) 

(R2) 

#FNT45,R1 

INPOUT 

nSYNBF 

#3.R1 : 

fSBGTIN^G.TICT.RO 

#ISVNBF»6.TICT.R2 

-(R0).-(R2) 
201 

#60.. (R2) 
-2(R2) 

R1.10S 

#FNT46.R1 

INP0T1 



GET FORNAT STRING ADDRESS 

OUTPUT TOTAL ACCESSES 

SET POINTER TO READ ACCESSES 

SET POINTER TO WRITE ACCESSES 

GET ADDRESS OF FORNAT STRING 

OUTPUT DISK ACCESS DATA 

SET SIZE OF CORE POOL IN BYTES 

CLEAR CARRY 

CONVERT TO WORDS 

COPY SIZE 

TRUNCATE TO NUMBER OF BLOCKS 

CONVERT TO NUMBER OF BLOCKS 

COPY HIGH VIRTUAL ADDRESS 

COPY ADDRESS 

ROUND TO NEXT BLOCK 

TRUNCATE 

CONVERT TO NUNBER OF BLOCKS 

GET ADDRESS OF FORNAT 

OUTPUT TO NAP FILE 

GET C'JRRENT TINE 

SET LOOP COUNT 

: POINT TO BEGINNING TINE 

: POINT TO CURRENT TINE 

SUBTRACT TINE UNITS 

IF PL NO UNDERFLOW 

ADO IN BORROW 

DECREMENT NEXT HIGHER UNIT 

LOOP 

GET FORMAT NUMBER 

OUTPUT TO MAP FILE 



♦•-IMPUND-MAP UNDEFINED SYMBOLS 

THIS ROUTINE IS CALLED AT THE END OF THE PHASE 5 PROCESSING OF A SEG- 
MENT TO OUTPUT A LIST OF UNDEFINED SYMBOLS If ANY EXIST. 

INPUTS! 

I ICRSE6«ADDRESS OF CURRENT SfGMENT DESCRIPTOR. 

; OUTPUTS) 



LIST OF UNDEFINED SYMBOLS IS WRITTEN INTO fMF LOAD MAP FILE. 



043 
043 
043 
043 
043 



043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
043 
; 043 
043 
043 
043 
043 
045 
043 
043 
043 
043 
043 



•••• K 12 •••• 



itmn mina u-ntr-r; nO;^A PACf S-g 



HPOUT MACRO Ml 108 U-OEC-77 09:56 PAGE 3-8 



328 

329 001102 

330 001106 

331 001112 

332 001116 



iS 



001120 
._ 001126 

335 001130 

336 001136 

337 001 U2 

338 001 U6 

339 001 1A6 

340 001152 

341 001156 
342 

^3 

V44 

iA3 

346 

347 

348 

349 

350 

351 001160 

35? 001160 

353 001164 

354 001170 

355 001172 

356 001176 

357 001202 

358 001204 

359 001206 

360 001214 

361 001216 

362 001224 

363 001226 

364 001234 

365 001242 

366 001246 

367 001250 

368 001252 

369 001252 
370 

371 
372 
373 
374 
375 
376 
377 
578 
579 
380 

!l^ 

385 

384 



001254 



016700 
005760 
001417 
026727 
003403 
012767 
012701 



OOOOOOG 
OOOOOOG 

OOOOOOG 177766G 



OOOOOOG 
000127' 



OOOOOOG 



SnPUNO::CALL 
NOV 
TST 
BEQ 
CHP 
BLE 
NOV 
NOV 
CALL 



012701 000516' 



5S: 

lOf: 



016700 
010105 
062700 
012746 

103422 
132760 
001372 
1S2'60 
001566 
016067 
016067 
0V701 

000754 



20S: 



NOV 

CALL 

RETURN 



SNPFSH ; FLUSH SYMBOL BUFFER 

tCRSEG.RO ;GET ADDRESS OF CURRENT SEGMENT 

S$GUND(RO) .'ANY UNDEFINED SYNBOLS? 

20S :IF EQ NONE 

SLNCNT,«PSLNTH-10. ;R00M FOR UNDEFINED SYMBOL 

5$ ;IF LE YES 

«PSLNTH,ILNCNT ; FORCE NEW PAGE 

#FMT21,R1 ;GET ADDRESS OF FORMAT 

SMPOUT .'OUTPUT HEADING 

fSNPOUT.RI ; ADDRESS OF OUTPUT ROUTINE 

SMPGUN .'GET UNDEFINED SYMBOL 



**-$MPGUN -GET UNDEFINED SYMBOL 

THIS ROUTINE IS CALLED TO FIND ANY UNDEFINED 
SYMBOLS IN A SEGMENT 



iMPGUN: 



OOOOOOG 

OOOOOOG 
OOOOOOG 



10S: 



OOOOOOG OOOOOOG 

OOOOOOG OOOOOOG 

OOOOOOG 1765 52 
000002G 176546 
000203' 



30Si 



SAVR6 

NOV 

NOV 

ADD 

MOV 

CALL 

BCS 

BITB 

BNE 

BITB 

BNE 

NOV 

MOV 

MOV 

CALL 

BR 

RETURN 



tCRSEG.RO 
R1,R5 

VSiiSSTB.RO 
#$1SED.-(SP) 

a(SP)» 

301 



:SAVE NON-VOLl TITLE REGISTERS 
;GET ADDRESS OF CURRFNT SEGMENT 



.'POINT TO SYMBOL TABLE 

.SET ADDRESS OF SYMBOL EDIT ROUTINE 

.'GET NEXT SYMBOL 

;IF CS DONE 
«SY»DEF.SIYrLG(RO).' SYMBOL DEFINED? 
10$ ;IF N£ YES-BYPASS 

«SYSWK.StVFLC(RO) .'WEAK DEFINITION? 

101 .IF NE YES -BYPASS 

SSYM(RO) .tSYMBF ;SET SYMBOL NAME 
StYMt2(R6).tSYMBF»2; 
»FMT22,R1 ;GET ADDRESS OF FORMAT 

(R5) ;OUTPUT SYMBOL 

10S ;GCT NEXT UNDEFINED SYMBOL 



MPPUT- OUTPUT UNDEFINED SYMBOLS TO TERMINAL 

INPUTS: 

tSYMBF CONTAINS SYMBOL 
R1 > ADDRESS OF FORMAT 

OUTPUTS: 
t SYMBOL PRINTED ON TERMINAL 

; 



4mpput 



: ! 



•••• L 12 ***• 



MPOUT MACRO M1108 14-DEC-77 09:56 PAGF5-9 



MPOUT MACRO Ml 108 U-DEC-?? 09:56 PAGE 3-9 



385 001254 

386 001260 

387 001 26A 

388 001270 

389 001 27A 

390 001276 

391 001302 

392 001306 
393 

39A 
395 
396 
397 
398 
399 
400 
A01 
402 
403 
404 
405 

406 001310 

407 001310 

408 001314 

409 001320 

410 001324 

411 001330 

412 001334 

413 001336 

414 001342 

415 001344 

416 001352 

417 001354 

418 001360 

419 001366 

420 001370 

421 001374 

422 001376 

423 001400 

424 001400 
425 

426 



012701 000215' 

012702 000006' 

012700 OOOOOOG 

010102 

012701 OOOOOOG 



016022 
016022 
016022 
012722 
016001 
010246 

012602 
132760 
001412 
012742 
032760 
001003 
066742 
005722 
005722 



000001 



m 

NOV 
CALL 
MOV 
MOV 
CALL 
RETURN 



#FMT23,R1 

«tSVMBF.R2 

fSOUTSF.RO 

SEDMSG 

R1.R2 

«$0UTBF,R1 

SPUTCO 



.'ADDRESS OF FORMAT 

.•ADDRESS OF PARAMETER BUFFER 

; ADDRESS OF OUTPUT BUFFER 

.LENGTH OF OUTPUT BUFFER IN SUES 
.•ADDRESS OF PUTPUT BUFFER 
.•OUTPUT SYMBOL 



SMPSVM> INSERTS SVMBOL NAME AND VALUE INTO SYMBOL 
BUFFER 

INPUTS: 

R2<SYMB0L BUFFER ADDRESS 
RO'ADDRESS OF SYMBOL DESCRIPTOR 

OUTPUT: 

SYMBOL AND VALUE INSERTED INTO SYMBOL BUFFER 



OOOOOOG 
000002G 
OOOOOOG 
000014' 
OOOOOOG 



iMPSYM: 
101: 



OOOOOOG OOOOOOG 

000016' 
OOOOOOC OOOOOOG 



OOOOOOG 



15S: 
20S: 



SlYM(R0),(R2)t .-INSERT SYMBOL NAME 

S»YM*2(R0).(R2)*; 

SlYVAL(R0),(R2)t; INSERT SYMBOL VALUE 

«FMT14.(R2)« .-ASSUME ABS SVMBOL 

StYCMT(R0).R1 ;GET SECTION ENTRY ADDRESS 

R2.-(SP) ; SAVE BUFFER POINTER 

ICVRL ; CONVERT TO REAL ADDRESS 

(SP)»,R2 ; RESTORE POINTER 

«CSSREL.CtSFLG(RO) ; ABS SECTION? 

201 .•IF EQ YES 

<'FMf15,-(R2) ;SET REL SUFFIX POINTER 

#<CStVSC!CStVAS*400ICS$LIB>.C»SFLG(RO) ; LIBOR VIRTUAL SECTION? 

15S .•IF NE YES 

S0FFST,-(R2) ;ADD OFFSET BIAS 

(R2)« ;ADJUST R2 

(R2)^ ;ADJUST R2 



RETURN 
.END 



•••« M 12 **** 



MPOUT MACRO M1108 14-DEC-T7 09:56 PAGE 3-10 



MPOUT MACRO MIIOB U-OEC-77 09:56 PAGE 


3-10 








SYMBOL TABLE 
















BLKNM OOOOOOR 




FD.RAN- 


000002 




F.DSPT= 000044 


MP0UT2 


000546R 


B.BBFS> 000010 




FD.REC= 


000001 




F.DVf«= 000134 


NB.DEV- 


000200 


B.BFST: 000015 




FD.RyM<: 


000001 




F.EFBKr 000010 


NB.DIRr 


000100 


B.NXBD- 000012 




FO.SDl* 


000020 




F.EFN = 000050 
F.EOBBs 000032 


NB.NAMs 


000004 


■^.VBN = 000004 




FD.SQD= 


000040 




NB.SDI^ 


000400 


CH./.«r 000001 




FD.TTY= 


00000* 




F.ERR ' 000052 


N6.SD2* 


001000 


CR > 000015 




FD.yBHs 


000002 




F.FACC« 000043 


NB.SNM* 


000040 


CS»LIB« •♦••♦♦ 


GX 


FF 


00001A 




F.FFBY« 000014 


NB.STP« 


000020 


CS»REL» ••••*♦ 


GX 


FF.CHRs 


000005 




F.FNAH« 000110 
F.FNB » 000102 


NB.SVR= 


000010 


CS»VAS» ••♦•*♦ 


GX 


FF.NV « 


000003 




NB.TYP» 


000002 


CS»VSC« *•*•*♦ 


GX 


FF.POE* 


000002 




F.FTYP= 000116 


NB.VER' 


000001 


CtSBSE' •♦•♦*♦ 


GX 


FF.RWO« 


000001 




F.FVER« 000120 


N.DID ' 


000024 


C»SFLG« •••«•• 


GX 


FF.RWF« 


000006 




F.HIBK< 000004 


N.DVNMb 


000032 


C»SLTH« •••••• 


GX 


FF.SPC« 


OOOOOA 




F.LUN > 000042 


N.FID ' 


000000 


E$R25 « •♦*•*• 


GX 


FMT10 


OOOOOOR 


002 F.WCTr 000054 


N.FNAN* 


000006 


FA.APO- 000100 




FMTU 


OOOOUR 


002 


F.MBCU 000055 


N.FTYP« 


000014 


FA.CREs 000010 




FMT15 


00001 6R 


002 


F.MBFGb 000056 


N.FVER< 


000016 


FA.DLK* 001000 




FMT21 


0001 27R 


002 


F.NRBD> 000024 


N.NEXTb 


000022 


FA.ENB' 100000 




FMT22 


000203R 


002 F.NREC' 000030 


N.STATs 


000020 


FA.EXC* 002000 




FMT23 


00021 5R 


002 F.OVBS* 000030 


N.UNIT= 


000034 


FA.EXT' 000004 




FNT42 


000225R 


002 


F.RACC> 000016 


PARttS* 


000000 


FA.NSP« 000100 




FMT43 


000262R 


002 F.RATT. 000001 


PSLNTH* 


****** GX 


FA. PCS' 010000 




FMT44 


000371 R 


002 


F.RCNR* 000034 


RtNAME« 


****** QX 


FA.RO » 000001 




FMT45 


000460R 


002 


F.RCTL« 000017 


RttllMi' 


000000 


FA.RWD' 004000 




FMT46 


0006 UR 


002 F.RS1Z> 000002 


R.FIX » 


000001 


FA.SEQ> 040000 




FMT57 


000642R 


002 


F.RTYP. 000000 


R.SEQ ' 


000003 


FA.SHR* 000040 




FO.APD« 


000106 




F.SEQN* 000100 


R.VAR - 


000002 


FA.THP" 000020 




FO.MFV 


000002 




F.SPDV 000072 


SPA s 


000040 


FA.WCK- 020000 




FO.RD > 


000001 




F.SPUN« 000074 


SYtDEFc 


****** GX 


FA.WRT* 000002 




FO.UPD« 


000006 




F.STBK« 000036 


SYtWK > 


****** GX 


FD.BLK- 000010 




FO.WRT" 


000016 
000076 




F.UNIT' 000136 


StGNME' 


****** GX 


FD.CCL= 000002 




F.ACTL- 




F.URBD' 000020 


StGSTB* 


****** GX 


FO.CO«« 020000 
FO.CR . 000002 




F.ALOC* 


000040 




F.VBN < 000064 


SSGUND* 


****** GX 




F.BBFS* 


000062 




F.VBSZ> 000060 


StV2 « 


****** GX 


FD.PIR* 000010 




F.BDB > 


000070 




G.TICP> 000016 


StYCMT> 


****** GX 


FO.FTN« 000001 




F.BGBC- 


000057 




G.riCTc 000014 


StYFLG* 


****** GX 


F0.F11" 040000 




F .BKDN> 


000026 




G.TJDA* 000004 


StYM > 


****** GX 


FD.INS* 000010 




F.BKOS' 


000020 




G.TIHR* 000006 


S%YVAL« 


****** GX 


FD.ISP- 002000 
FU.Mrn- 100000 




F.BKEF' 

F.8ICP1« 


000050 
000051 




G.riMI* 000010 
G.TIM0> 000002 


S.BFHD* 
S.FATT* 


000020 
000016 


FD.OSP- 004000 




F.BKST- 


000024 




G.TISC* 000012 


S.FDB < 


000140 


F0.PLC« 000004 




F.BKVB> 


000064 




G.TIYR- 000000 


S.FNAM« 


000006 


FO.PRN> 000004 




F.CHR « 


000075 
000034 
000046 




HT « 000011 


S.FN6 « 


000036 


FD.PSE* 010000 
FD.RAH- 000001 




F.CNTG- 
F.DFNB' 




LF « 000012 
MP0T2 000536R 


S.FNBW* 
S.FNTY> 


000017 
OC0004 


. ASS. 000000 


000 














001402 
MTXTtO 000646 


001 
002 














ERRORS DETECTED 


: 















V12TUAL MEMORY USED: 2881 WORDS ( 12 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGf.) 
ELAPSED TIME: 00:00:32 
C5l,201MPOUT.C31.305MF>OUr/-SP-C31.101MACFLM.FCSPR,MPOUT 



S.FTYP= 000002 
S.NFENs 000020 
VT = 000013 
IBGTIM= ****** GX 
SCRSEGs ****** GX 
SCVRL = ****** GX 
SDIV = ****** GX 
SEDMSG- ****** GX 
$ERMSG< ****** GX 
SFMT16 000020RG 
SFRSIZ= ****** GX 
SHOVAO:: ****** GX 
$1SED = ****** GX 
SLNCNTs ****** GX 
SMAPPT» ****** GX 
SMPCAL 0001 76RG 
SMPCHK 000306RG 
SMPEDT 000344RG 
SMPFLE 000360RG 
SMPFLG 000004RG 
SMPFSH 0004 12RG 
SMPGUN 001160RG 
IMPOTI 000522R6 
SMPOUT 0005 16RG 
SMPPUT 001254RG 
IMPSTS 000702RG 
SMPSYM 001 31 ORG 
SMPTLE 000620RG 
SMPUND 001102RG 
iOFFST* ****** GX 
SOUTBFs ****** GX 
SPUTCO* ****** GX 
fSAVRG» **•••• GX 
»STTLE= ****** GX 
tSYMBF 000006RG 
STITLE= ****** GX 
»WRKAC= ••*•*♦ GX 
$WRKRD= ♦**•*♦ GX 
$WR»(WR= ♦*•«*• GX 
IS < 000001 
»$IOSTr 0000?0 
.PUTSQ^ ♦«♦«.. G 

...G8L= ogoooo 

...TPC. 000140 



002 



*••• N M •••« 




**** I IS ***• 



D I J 



MPTUO MACRO MllOB U-DEC-77 09:56 PAGE 2 



1 

2 

3 

A 

5 

6 

7 

8 

9 
10 
11 
12 
13 
U 
15 
16 
17 
18 
19 
20 
21 
22 
23 
2A 
25 
26 
27 
28 
29 
30 
31 
32 
33 
3* 
35 
36 
37 
38 
39 
AO 
41 
UZ 
A3 
AA 
A5 
A6 
A7 
A8 

A9 OOOOOQ 
SO 000002 




57 000016 



.TIKE MPTWO 
.IDEMT /03/ 



COPYRIGHT (C) 1976 
COPYRIGHT (C) 1977 
DIGITAL EQUIPMENT CORPORATION. MAYNARD. MASS. 

THIS SOFTWARE IS FiJRNISHED UNDER A LICENSE FOR USE ONLY ON A 
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE 
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR 
ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE 
MA!>E AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH 
SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE 
TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN 
IN DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 
ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 



VERSION 03 

D. N. CUTLER/C. MONIA 25-JAN-7A/ J. A. KASSON 20-A. *<-76 

MODIFICATIONS 

NO. DATE PROGRAMMER 



;**-1 



021 


25-JAN-7A 


03A 


07-JAN-75 


036 


1A-JAN-75 


039 


22-MAR-75 


0A3 


28-OCT-75 


0A8 


11-FEB-76 


053 


17-MAR-76 


JAKIOO 


5-APR-77 



C. MONIA 

C. MONIA 

C. MONIA 

C. MONIA 

C. MONIA 

C. MONIA 

C. MONIA 
; CHANGES FOR MULTIUSER TASKS 



;**NEW»» 



LOCAL DATA 

.BLKW 1 



LEFT: 

NSPC: 

STRTF: 

CRSEC: 

CSLTH: 

CS8SE: 

NSPP: 

Tl: 

T2: 



.BLKW 
.BLKW 
.BLKW 
.BLKW 
.BLKW 
.BLKW 
.BLKW 



.■NUMBER OF SYMBOLS LEFT TO BE OUTPUT 

.•NUMBER OF SYMBOLS PER COLUNM 

.•START OF SECTION CONTRIBUTOR 

.'CURRENT SECTION 

;LEN6tf' OF CURRENT SECTION 

.•BASE AUDRESS OF CURRENT SECTION 

; NUMBER OF SYMBOLS PER PAGE 



ft*** 



TTT 



«*** 



MPTWO MACRO Ml 108 U-DEC-77 09:56 PAGE 2-1 



58 000020 

59 000022 

60 OOOOAO 
61 



68 000000 
69 



89 000000 


90 000000 


91 


000014 


92 000030 


93 0000A«i 


94 000060 


95 


00( 


96 000000 


97 




98 000000 


000003 


052 


000006 


122 




124 


OOOOH 


105 


000017 


105 


000022 


072 


000025 


062 


000030 


063 


99 000033 


000036 


fo? 


000041 


000044 


116 




040 


g§§g|f 


122 

116 


100 000057 



045 
052 
117 
040 
107 
116 
040 
122 
116 
052 

123 

115 
124 
04!) 
045 
000 
122 



055 



T3: .DLKW 1 
CCNTBL: .BLKW 7. 
CPTR: .BLKW 21, 



; LOCAL MACRO 



;COLUNM COUNT TABLE 

;TOP OF COLUNH SYMBOL POINTER 



.PSECT STB1SD,D,6BL 
•■ 
GNATR- CREATES TABLE CONTAINING LENGTH OF ATTRIBUTE 

TEXT. ATTRIBUTE SWITCH. AND TEXT FOR ATTRIBTES. 



A'ATTRIBUTE SWITCH 
B=ATTR1BUTE'S TEXT FOR FLAG =1 
C»ATTRIBUTE'S TEXT FOR FLAG =0 





.MACRO 


GNATR A.B.C 




.NCHR 


B'C.<B> 




.WORD 


B'C 




.WORD 


A 


B: 


.ASCII 


/B./ 


.=B*4 






C: 


.ASCII 


/c./ 


.»C*4 


.ENDM 




PSARG: 




.-ATTRIBUTE SWITCH VECTOR 




GNATR 


CSSACC.RO.RW 




GNATR 


CSITYP.D.I 




GNATR 


CSSGBL.GBL.LCL 




GNATR 


CSSREL.REL.ABS 




GNATR 


CSSALO.OVR.CON 


PSARGN»<.-PSARG>/12. .-NUMBER OF ATTRIBUTES 




.PSECT 


MTX2$D.D.GaL 



052 FMT1: .ASCIZ /IN*** ROOT SEGMENT: I2RX3N/; 



052 FMT2: .ASCW />•• SEGMENT: I2RHN/; 



117 FMT3; .ASC12 /R-O MEM LIhlTS: XP XP XP XU.IN/ 



MPTWO MACRO Ml 108 U-OEC-77 09:56 PAGE 2-2 



000062 


OAO 


000065 


115 


000070 


1U 


000073 


111 


000076 


072 


000101 


120 


000104 


120 


000107 


120 


000112 


125 


000115 


116 


101 


000117 


000122 


040 


000125 


115 


000130 


114 


000133 


111 


000136 


072 


000U1 


120 


OOOUA 


120 


000U7 


120 


000152 


125 


000155 


116 


102 000157 


000162 


113 


000165 


114 


000170 


114 


000173 


111 


000176 


072 


000201 


120 


00020A 


120 


000207 


120 


000212 


125 


000215 


116 


103 000217 


000222 


115 


000225 


117 


000230 


040 


000233 


114 


000236 


101 


0002A1 


117 


0002A4 


123 


0002A7 


117 


000252 


111 


000255 


045 


000360 


000 


K4 000261 


000264 


124 


000267 


116 


000272 


060 


000275 


111 


000300 


105 


000303 


111 


ooo:o6 


116 


ooo:ii 


040 


80317 


114 
116 


10s 000321 


000324 


055 



115 


105 


040 


040 


111 


115 


124 


123 


040 


045 


040 


045 


040 


045 


040 


045 


056 


045 


000 




122 


057 


115 


105 


040 


040 


111 


115 


124 


123 


040 


045 


040 


045 


040 


045 


040 


045 


056 


045 


000 




104 


111 


040 


102 


113 


040 


111 


115 


124 


123 


040 


045 


040 


045 


040 


045 


040 


045 


056 


045 


000 




045 


062 


105 


115 


122 


131 


101 


114 


117 


103 


124 


111 


116 


040 


131 


116 


120 


123 


123 


072 


062 


116 


123 


105 


111 


117 


045 


064 


123 


124 


124 


114 


040 


040 


1(4 


105 


124 


040 


1§? 


111 
045 


8§? 




055 


055 


055 



127 FMT4: .ASCIZ *R/'W MEM LIMITS: XP XP %P XU.IN*; 



123 FMT5: .ASCIZ /DISK BU LIMITS: XP XP XP XU.XN/; 



116 FMT32: .ASCIZ /'X2NMEM0Ry ALLOCATION SYN0PSIS:X2N/; 



103 FMT52: .ASCIZ /SECTI0NX40STITLE IDENT FILEXN/ 



055 FMT53: .ASCIZ / X40S 



•*** E 13 ••** 



—%H/ 



NPTWO MACRO Ml 103 U-DEC-77 09:56 PAGE 2-3 



000327 
000332 
000335 
0003A0 
0003A3 
000346 
000351 
00035A 
000357 
106 
00036A 
107 
I OH 
109 
110 
000410 
000A13 
000A16 
0OOA21 
111 
000A26 
000431 
0OOA34 
000437 
000442 
000445 
000450 
000453 
112 
000461 
000464 
000467 
000472 
000475 
000500 
000503 
113 
14 
15 
16 
17 



n 



055 
060 
055 
055 
055 
055 
040 
055 
116 
000361 
072 



000405 
120 
120 
125 
116 

000423 
123 
040 
040 
056 
062 
045 
040 
045 

000456 
107 
102 
040 
115 
114 
045 
000 

000504 



000112 



045 
123 
055 
040 
055 
055 
055 
055 
000 
045 
050 
000005 



051 
040 
040 
056 
000 
045 
045 
045 
045 
040 
122 
062 
045 
116 
045 
114 
101 
123 
102 
123 
062 



045 



064 
055 
055 
040 
055 
040 
055 
045 

062 



040 
045 
045 
045 

062 
120 
120 
125 
045 
040 
122 
130 
000 
063 
117 
114 
131 
117 
072 
116 

106 



122 FMT54: .ASCII /X2R:(/ 



045 



.REPT PSAR6N 

•ASCII /XVA/ 

.ENDR 

.ASCIZ /) XP XP lU.XN/ 



066 FMT55: .ASCIZ /X26SSP XP XU. X2R X2R XXXN/ 



116 FMT56: .ASCIZ /X3NGL0BAL SYMB0LS:X2N/ 



000 FMT57: .ASCIZ /XF/ 
.EVEN 

.PSECT 



•*-$«PSEG-MAP SEGMENT 

THIS ROUTINE IS CALLED TO WRITE A SEGMENT NAME INTO THE LOAD 
MAP FILE. 

INPUTS: 

I tCRSE6<ADDRESS OF CURRENT SEGMENT DESCRIPTOR. 

; 

OUTPUTS: 

SEGMENT NAME IS WRITTEN INTO THE LOAD MAP FILE. 



*•*• f 13 *«•« 



MPTWO MACRO Ml 108 U-DEC-77 09:56 PAGE 2-4 



3A 000112 

35 000116 

36 000122 

37 000130 

38 000132 

39 OOOUO 
AO OOOUO 
A1 OOOUA 
A2 000150 

43 000154 

44 000160 

45 000166 

46 000170 

47 000174 

48 000202 

49 000206 

50 000212 

51 000220 

52 000222 

53 000226 

54 000232 

55 000236 

56 000242 

57 000244 

58 000246 

59 000250 

60 000252 

61 000254 

62 000254 

63 000260 

64 000260 

65 000264 

66 000272 

67 000274 

68 000302 

69 000304 

70 000304 

71 000310 
7i 000314 

73 000320 

74 000324 

75 000330 

76 000336 

77 000340 

78 000344 

79 000352 

?0 000354 
1 000360 



SMPSEG: 




026727 
001403 
012767 

016700 
016022 
016012 
012701 
026767 
001005 
012701 
016767 

016701 
032761 
001031 
012701 
016722 
016712 
021262 
001004 
005722 
005022 
005012 
000402 



026767 
001016 
026767 
001412 

016722 
016712 
012701 



032767 
001436 
016701 
132761 
001030 
016112 
012212 
016100 
000241 

mh 

"502 
502 

i411 

006000 



OOOOOOG 000001 

OOOOOOG OOOOOOG 

OOOOOOG 
OOOOOOG 
000002G 
000033' 
OOOOOOG OOOOOOG 

000000* 
OOOOOOG OOOOOOG 

OOOOOOG 
OOOOOOG OOOOOOG 

000117' 
OOOOOOG 
OOOOOOG 
177776 



5$: 



10S: 



15S: 
17$: 



OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 



OOOOOOG 
OOOOOOG 
000057' 



20$: 



OOOOOOG OOOOOOG 25$: 

OOOOOOG 
OOOOOOG OOOOOOG 

OOOOOOG 

OOOOOOG 



I7%i 



SAVRG 

CALL 

CMP 

BEQ 

MOV 

MOV 

NOV 

MOV 

MOV 

CMP 

BNE 

MOV 

MOV 

CALL 

MOV 

BIT 

BNE 

MOV 

MOV 

MOV 

CMP 

BNE 

TST 

CLR 

CLR 

BR 

CALL 

CALL 

CMP 

BNE 

CMP 

BEQ 

MOV 

MOV 

MOV 

CALL 

CALL 

BIT 

BEQ 

MOV 

BITB 

BNE 

MOV 

MOV 

MOV 

CLC 

BNE 

TST 

CLR 

CLR 

BR 

ROR 



$MPFSH 

$NUMSG,«1 

5$ 

*P$LNTH.$LNCNT 



.•SAVE NONVOLITILE REGISTERS 

.•FLUSH SYMBOL BUFFER 

;MGRF THEN ONE SEGMENT? 

;IF EQ YES - DON'T FORCE NEW PAGE 

; FORCE FULL PAGE 



$CRSEG.RO 

S$GNME(R0).(R2)t: 

S$GNME«2(R0).(R2) 

*FMT2,R1 

$CRVSG,$RTSEG 

10$ 

#FMT1,R1 

$0FFST.$6EGRW 

$MPOUT 

$CRSE6,R1 

«SG$R0,S$GSTS(R1) 

20$ 

*FHT4.R1 

$6EGRW,(R2)^ 

$ENDRW.(R2) 

(R2).-2(R2) 

15$ 

(R2)* 

(R2)* 

(R2) 

17$ 



$MPEDT 

$MPOUT 

$CRVSG.$RTSEG 

25$ 

$ENDRO,$ENDRW 

25$ 

$6EGR0,(R2)« 

$ENDR0.(R2) 

OFMTS.RI 

$MPEDr 

$MPOUT 

#TS$KF,$SWTCH 

100$ 

$CRSEG.R1 

«S6$DSK,S$GSTS( 

100$ 

S$GBLK(R1).(R2) 

(R2)*,(R2) 

S$6LNG(R1),R0 

27% 

(R2)* 
(R2)* 
(R2)» 
28$ 

RO 



GET ADDRESS OF CURRENT SEGMENT 
INSERT SEGMENT NAME 

'get address OF FORMAT 

CURRENT ROOT? 

IF NE NO 

GET ALTERNATE FORMAT ADDRESS 

SET BEGINNING OF RW MEMORY 
OUTPUT SEGMENT NAME 

GET ADDRESS OF CURRENT SEGMENT 

; R-O SEGMENT? 

IF NE YES 

GET ADDRESS OF FORMAT 
INSERT BEGINNING OF RW AREA 
INSERT END OF RW AREA 
♦♦021 ANY LENGTH ? 
♦♦021 IF NE YES 
♦♦021 POINT TO LENGTH 

CLEAR LENGTH 

♦^021 
♦ ♦021 
♦♦021 OUTPUT CORE LIMITS 



;JAK100 
;JAK100 
.•JAK100 



; 043 
; 043 



.•♦♦021 OUTPUT CORE LIMITS 
; CURRENT ROOT? 
;IF NE NO 
; ANY RO AREA 
;IF EQ NO 

.■INSERT BEGINNING OF RO AREA 

;GET ADDRESS OF FORMAT 
; OUTPUT RO CORE LIMITS 
; OUTPUT LINE 

.•TASK IMAGE FILE SPECIFIED? 
.•IF EQ NO 

; GET REAL ADDRESS OF CURRENT SEGMENT 
R1) ; SEGMENT HAVE DISK ALLOCATION? 
; IF NE NO 

.-INSERT STARTING DISK BLOCK NUMBER 
.COPY BLOCK NUMBER 
.■GET LENGTH 

.-CLEAR CARRY FOR DIVIDE BY 2 
.-♦♦021 IF NE SEGMENT HAS LENGTH 
.-♦♦021 POINT TO LENGTH 
; CLEAR LENGTH 

^♦♦621 OUTPUT DISK BLOCK LIMITS 

;^^021 

; CONVERT LENGTH TO WORDS 



.-JAK100 



;JAK100 



\^\ 



*••• G 15 **•• 



m.^^m i» 



MPTWO MACRO Ml 108 U-DEC-77 09:56 PAGE 2-5 



191 OOOAOA 

192 000A10 
195 000412 
19A OOOAU 

195 000416 

196 000420 

197 00042A 

198 000424 

199 000430 

200 000434 

201 000440 

202 000444 

203 000450 

204 000454 

205 000460 

206 000464 

207 000470 

208 000476 

209 000500 

210 000504 

211 000506 

212 000510 

213 000514 

214 000520 

215 000526 

216 000530 

217 000532 

218 000534 

219 000536 

220 000542 

221 000546 

222 000550 

223 000552 

224 000554 

225 000562 

226 000564 

227 000570 

228 000574 

229 000600 

230 000604 

231 000612 

232 000614 
253 



062700 000377 

105000 

000300 

005300 

060012 



012701 000157' 



28S: 



012701 

012701 

012701 

016700 
032767 
001404 
062700 
010046 
000404 
062700 
012746 
032767 
001410 
013600 
001543 
010046 
016001 

000412 



000217' 1001: 

000261 ' 

000321 • 

OOOOOOG 
OOOOOOG OOOOOOG 



OOOOOOG 



105S: 



OOOOOOG 
OOOOOOG 
OOOOOOG OOOOOOG 11 OS: 



000002 



1201: 
OOOOOOG OOOOOOG 
OOOOOOG 

012702 OOOOOOG 130S: 
177774 OOOOOOG 



103533 
132760 
001404 
016001 



026267 
001742 



20 010167 

- ..--24 016012 

35 000630 012267 

36 000634 016001 

39 000650 001406 
'40 000652 032701 
'41 000656 001003 
42 000660 066762 
45 

016067 
016012 
011267 
0)2222 




177160 

OOOOOOG 

177154 

OOOOOOG 

177152 

OOOOOOG 

OOOOOOC 

0000005 177776 

OOOOOOG 177106 

OOOOOOG 

177102 



13i$: 



ADD 

CLRB 

SWAB 

DEC 

ADD 

CALL 

MOV 

CALL 

MOV 

CALL 

MOV 

CALL 

MOV 

CALL 

MOV 

BIT 

BEQ 

ADD 

MOV 

BH 

ADD 

MOV 

BIT 

BEQ 

MOV 

BEQ 

MOV 

MOV 

CALL 

BA 

CALL 

BCS 

BITB 

BEQ 

MOV 

CALL 

MOV 

CALL 

CMP 

BEQ 

CALL 

MOV 

MOV 

MOV 

MOV 

MOV 

BITB 

BEQ 

BIT 

BNE 

ADD 

MOV 
MOV 
MOV 
MOV 



#377,R0 

RO 

RO 

RO 

R0,(R2) 

SMPEDT 

#FMT5,R1 

SMPOUT 

#FMT32,R1 

SMPOUT 

#FMT52,R1 

SMPOUT 

*FMT53,R1 

SMPOUT 

SCRSEG.RO 

«SESQA.SSWTCH 

105S 

#SSGSEQ,RO 

RO.-(SP) 

110S 

#SSGCST.RO 

#S1SED.-(SP) 

tSESQA.SSWTCH 

120S 

a(SP)>.RO 

165S 

RO,-(SP) 

2(R0).R1 

SCVRL 

130S 

a(SP)« 

165S 



.•ROUND TO NEXT BLOCK 

.•CLEAR LOW BYTE 

.•DIVIDE BY 256. WORDS 

.•BACK OFF BY ONE 

.•CALCULATE ENDING BLOCK NUMBER 

:CALC LENGTH 

:GET ADDRESS OF FORAMT 

.•OUTPUT 

;GET ADDRESS OF FORMAT 

.•OUTPUT SYNOPSIS HEADING 

.•OUTPUT HEADING 

; UNDERSCORING 

:GET ADDRESS OF CURRENT SEGMENT 

.•SEQUENCE ALLOCATION? 

:IF EQ NO 

.•POINT TO SEQUENCE LISTHEAD 

:SET ADDRESS OF FIRST LINK WORD 

;POINT TO SECTION TABLE 

;SET ADDRESS OF SYMBOL EDIT ROUTINE 

.•SEQUENCE ALLOCATION? 

:IF EQ NO 

.-GET ADDRESS OF NEXT ENTRY 

.IF EQ DONE 

;SET ADDRESS OF NEXT LINK WORD 

; GET VA OF SECTION TABLE ENTRY 

; CONVERT TO REAL ADDRESS 



#CSSIND.CSSFLG(r6) 

130S 

CSS8SE(R0),R1 

SCVRL 

#SSYMDF,R2 

SMPCHK 

-4(R2),SABSNM 

110S 

MPCSA 

RI.CRSEC 

CSSSSE(RO),(Rf) 

(R2)*,CSBSE 

CSSFLG(R0).R1 

R1.T2 

#CSSREL,R1 

135S 



.•GET NEXT SYMBOL 
IF CS DONE 



.■INDIRECT REFERECE? 



:IF EQ NO 

;POINTER TO DEFINITION 
.•CONVERT TO REAL 
.-GET ADDRESS OF SYMBOL BUFFER 
.•CHECK SECTION NAME 
.•ABS SECTION? 
.■IN EQ YES - IGNORE 
.•INSERT PSECT'S ATTRIBUTES 
.•SAVE VIRT ADDRESS OF CURRENT SECTION 
.SET BASE ADDRESS OF SECTION 
.SAVE BASE ADDRESS OF SECTION 
.-GET FLAGS 
.-SAVE FLAGS 
.■ABS SECTION? 
EQ YES 



#<CSSVSC!CSSVAS*400!CSSLIB>.R1 
135S ;1F NE YES 

SOFFST.-2(R2) ;ADD IN OFFSET 

CSSCUR(RO),STRTE :SAVE BASE ADDRESS 
CSSL1H(R0).(R2) ;SET LENGTH Of SECTION 
(R2 .CSLTH ;SAVE LENGTH OF SECTION 

(R2)*.(R2)» ;COPY LENGTH 



LIBRARY OR VIRTUAL SECTION? 



•••• 



iriT 



•t«* 



1 ^.. 



<i-tfcr/'_^f An.CA 



tkkftt 'i^A 



NPTWO MACRO Ml 108 H-OEC-77 09:56 PAGE 2-6 



2A8 000706 

249 000712 

250 000716 

251 000722 

252 00072A 

253 000730 

254 000730 

255 000736 

256 0OO7A0 

257 000746 

258 000750 

259 000750 

260 000754 

261 000754 

262 000760 

263 ^764 

264 ^00766 

265 000770 

266 000774 

267 001000 

268 001002 

269 001002 

270 001006 

271 001012 

272 001016 

273 001024 

274 001032 

275 001040 

276 001042 
m 001042 
278 001046 
279 

280 
281 



iH 



284 
285 

286 001050 

287 001054 

288 001060 

289 001064 

290 001064 

291 001066 

292 001070 

293 001072 

294 001076 

295 001100 

)1110 
)1112 




012701 000361' 

005067 177076 

005760 OOOOOOG 
001002 

105267 177064 

132760 OOOOOOC OOOOOOG 

001004 

132760 OOOOOOG OOOOOOG 

001002 

105267 177041 



012746 OOOOOOC 

103405 

016700 OOOOOOG 

000771 

016701 176776 



140$: 

144$: 
145$: 

150$: 
160$: 



016760 176760 OOOOOOG 

166060 OOOOOOG OOOOOOG 

016760 176744 OOOOOOG 
000627 



165$: 



MOV 
CLR 
TST 
BNE 
INCB 

BITB 
BNE 
BITB 
BNE 

INCB 

CALL 

MOV 

CALL 

BCS 

MOV 

CALL 

BR 

MOV 

CALL 

CALL 

MOV 

SUB 

MOV 

BR 

CALL 
RETURN 



#FMT54,R1 

T1 

S$yM(R0) 

140$ 

T1 



GET ADDRESS OF FORMAT 

T1 IS USE TO FLAG BLANK SECTION 

BLANK SECTION? 

IF NE NO 

SET - INDICATING BLANK SECTION 



#<CS$LIB!CS$ALO>,C$SFLG(R0) ; LIBRARY OR OVR? 
144$ ;IF EQ NO 

«CS$REL,C$SFLG(RO):ABS SECTION? 
145$ ;IF NE NO 



TU1 

$MPOUT 

#$STELM.-(SP) 

a(SP)t 

160$ 

$CRELM,R0 

MPCTB 

150$ 



; SET -FLAG OVR OR LIB 

.•OUTPUT SECTION INFO 
;STEP THRU ELEMENTS 

;IS C SET NO MORE ELEMENTS 
; ADDRESS OF ELEMENT TABi.E 
.-FIND t PRINT CONTRIBUTION 
;GET NEXT ELEMENT 



CRSEC.R1 :GET VIRTUAL ADDRESS OF SECTION 
$CVRL .-CONVERT TO REAL 

$yRMPG ; WRITE MARK PAGE 
STRTE,C$SL6S(R0) .-CALCULATE LENGTH 
C$SCUR(RO).C$SLGS(RO) .- OF SECTION CONTRIBUTIONS 
STRTE,C$SCUR(RO) ; NEW CURRENT BASE 
110$ 

MPGBL 



i* 



MPCSA -INSERT CONTROL SECTION ATTRIBUTES 



012705 000000' 
012704 000005 

012512 

005222 

005012 

032560 OOOOOOG 

001002 

012712 000004 

WhS 

022525 

005562 177774 



10$: 



MPCSA: SAVRG 
MOV 
MOV 

MOV 
INC 
CLR 
BIT 
BNE 
MOV 
ADD 
CMP 
CMP 
SOB 
DEC 
RETURN 



15$: 



«PSARG.R5 
»PSARGN,R4 

(R5)»,(R2) 

(R2)« 

(R2) 

(R5)*.C$SFLG(R0) 

15$ 

«4.(R2) 

R5.(R2)» 

(R5)*.(R5)* 

(R5)*.(R5)* 

R4.10i 

-4(R2) 



ATTRIBUTE VECTOR 
NUMBER OF ATTRIBUTES 

LENGTH OF TEXT 
INCREMENT LENGTH 

ATTRIBUTE FLAG SET? 

GET ADDRESS OF TEXT FOR FLAG '0 
GET ADDRESS OF TEXT fOR FLAG «1 
MOVE TO NEXT ENTRY 

MORE? 

NO DO AWAY WITH LAST COMMA 



MPCTB-FIND CONTRIBUTORS TO SECTION 



••** I 13 **•• 






NPTWO MACRO M1108 U-OEC-77 09:56 PAGE 2-7 



305 
306 
507 0011 2A 

308 oonzA 

309 001130 

310 001 13A 

311 001136 

312 001U0 

313 001 UA 
3U 0011U 

315 001150 

316 001 15A 

317 001156 

318 001162 

319 001166 

320 001172 

321 001 17A 

322 001200 

323 001202 
324. 001206 
325 

326 
327 
328 
329 
330 
331 
332 
333 

334 001 21 C 

335 001212 

336 001216 
337 

338 
339 

340 001222 

341 001226 

342 001230 

343 001232 

344 001232 

345 001240 

346 001240 
547 001242 

348 001246 

349 001250 

350 001252 

355 001256 
354 001^6: 

jp; 

357 001 




016005 
100506 
005205 
016003 

012702 
022367 
001073 
016722 
016701 
132701 
001422 
052701 
001017 
052701 
001411 



014200 
016701 



066701 
010122 
000405 



011512 
105767 
001402 
00571J 
001454 

012222 
105767 
U01002 
061567 




OOOOOOG 

OOOOOOG 

OOOOOOG 
176650 

176620 
176650 
OOOOOOG 

OOOOOOC 

OOOOOOC 



MPCTB: 



10$: 



176570 



176562 



066762 OOOOOOG 177776 



111: 
121: 



176546 



15ti 



176535 

176512 

OOOOOOG 
OOOOOOG OOOOOOG 

OOQQQOG 
000002G 



1501: 



SAVRG 

MOV EtLNUM(RO) ,R5 .-SAVE NUM OF SECTS IN MAPPING TABLE 

BMl 25S :IF MI MAPPINF TABLE HAS NO ENRIES 

INC R5 ;INCR. NUMBER OF ENTRIES 

MOV ESLCMT(R0>,R5 ;REAL ADDRESS OF MAPPING TABLE 

MOV «SSYMBF.R2 : ADDRESS OF ARGUMENT POINTER 

CMP (R5)«,CRSEC .-MAP ENTRY FOR CURRENT SECTION 

BNE 20$ * I F NE NO 

MOV STRTE,(R2)« : INSERT START OF CONTRIBUTION 

MOV T2,R1 ;CET SECTION FLAGS 

BITB «CSSREL.R1 ;ABS. SECTION? 

BEQ 12S :IF EQ YES 

BIT «<CSSVAS*400!CSSLIB>,R1 ; LIBRARY OR VIRTUAL ARRAY? 

BNE 12t 'IF NE YES 

BIT #CSIVSC»400.R1 ; VIRTUAL SECTION? 

BEQ IIS ; IF EQ NO 



• IF OF V1U5 



CLR 
MOV 
DIV 

.IFF 

MOV 
MOV 
CALL 

.ENDC 

ADD 
MOV 
BR 

ADD 

MOV 

TSTB 

BEQ 

TST 

BEQ 

MOV 
TSTB 
BNE 
ADD 

MOV 
BIT 
BNE 
MOV 
MOV 



RO 

-(R2).R1 

CSLTH.RO 



-(R2).R0 
CSLTH.R1 
SDIV 



CS8SE.R1 
R1,(R2)* 
121 

«)FFST.-2(R2) 

(R5).(R2) 

T1 

15S 

(R3) 

201 

(R2)S(R2>* 
T1»1 
15Qt 
(R5).STRTE 



CLEAR HIGH PART OF LENGTH 

GET STARTING ADDRESS 

REDUCE STARTING ADDRESS TO MODULUS OF LENGTH 



GET STARTING ADDRESS 

GET LENGTH 

REDUCE STARTING ADDRESS TO MODULJS OF LENGTH 



BIAS BY BASE ADDRESS 
SET BASE OF CONTRIBUTION 



INCLUDE OFFSET 

INSERT LENGTH 

BLANK SECTION? 

IF EQ NO 

BLANK SECTION -LENGTH ZERO? 

IF EQ YES S- SKIP 

COPY LENGTH 

CONCATINATED SECTION? 

ir Nf NO 
START OF NEXT CONTRBUTION 



tCRELM.RQ : GET ADDRESS OF CURRENT FlFME 

«SWMA.EllSWT(RO) ; EXCLUDE MODUIE? 



NT 



20S 

ElLMOD(R0).(R2)* 

EILM0D*2(r6).(R2)« 



iU NE YES 
; INSERT TITLE 



*••• 



TIT 



•••« 



rz 



•*&f»n M^tAA 



tJ.-f^r-'fV AO.«A. BAr.£ 3.A 



MPTyO MACRO mi08 u 


-DEC-77 09:56 PAGE 2-8 










362 001314 

363 001320 


016022 


OOOOOOG 






MOV 


ESLIDT(R0).(R21 


»: INSERT IDENT 




016022 


000002G 






MOV 


EfLIDTt2(R6).(R2)» 




364 001524 


016701 


OOOOOOG 






MOV 


SINPPT.RI 


;GET INPUT FILE RECORD BLK 




365 001330 










CALL 


IMPFLE 


;SET UP FILENAME 




366 001334 


012701 


000425' 






MOV 


#FMT55,R1 


: SET ADDRESS OF FORMAT 




367 001540 










CALL 


SMPOUT 


; OUTPUT CONTRIBUTOR 




368 001544 








20t: 










369 001344 


005725 








TST 


(R5)» 


.-MOVE TO NEXT MAPPING ENTRY 




370 001546 


005505 








DEC 


R5 


.MORE NAPPING ENTRIES? 




571 001550 


001275 








BNE 


lot 


:IF NE YES 




572 001552 








25»: 










575 001552 
574 










RETURN 








575 
576 
577 
578 
579 
580 001554 








;♦ 

; NPGBi 

9 


.- OUTPUTS GOBAL SYMBOLS 


FOR A SEGMENT 










MPGBL: 










581 001554 










SAVRG 




.■SAVE NON-VOLITILE REGISTERS 




582 001560 


016700 


OOOOOOG 






MOV 


ICRSEG.RO 


;REAL ADDRESS OF CURRENT SEGMENT 




585 001564 


016067 


OOOOOOG 


176406 




MOV 


SSGNTB(RO),LEFT 


;N0. OF SYMBOLS 




584 001572 


001560 








BEQ 


1001 


.-IF EO NONE 




585 001574 


010046 








MOV 


RO.-(SP) 


.•SAVF ftO 




386 001376 


026727 


OOOOOOG 


1777756 




CMP 


»LNCNT.#P»|NTM-5:PAST LIW 55? 




387 001404 


100405 








BMI 


lOt 


:IF Ml NO 




388 001406 

389 001414 


012767 


OOOOOOG OOOOOOG 


10$: 


Mo/ 


#P1LNTM,ILNCNT 


.'FORCE FORM FEED 




390 001414 


012701 


000456* 






MOV 


#FMT56.R1 


: OUTPUT SYMBOL TABLE HEADER 




391 001420 










CALL 


SMPOUT 






392 001424 


2'?t25 








MOV 


(SP)«.R0 


; RESTORE RO 




395 001426 


062700 


OOOOOOG 






ADD 


#StGSTB.RO 


.SYMBOL LISTHEAD ADDRESS 




594 001452 

595 001456 


012746 


OOOOOOG 




301: 


MOV 


*fISED.-(SP) 


.SET ADDRESS OF SYMBOL EDIT ROUTINE 




396 001436 

397 001442 


016767 


176544 


176544 




CALL 
MOV 


CSOP 

Nspp.n 


;CALC. « OF SYMBOLS ON THIS PAGE 
.■NUMBER OF SYMBOLS PER PAGE 




398 001450 


016767 


176526 


176540 




MOV 


NSPC.T2 


:NUM. OF SYMBOLS PER COLUFM 




399 001456 


016767 


OOOOOOG 


176554 




MOV 


INCLNM,T3 


.■NUM. OF COLUM<IS 




400 001464 


012705 


000040' 






MOV 


tCPTR.RS 


.■COLUNM POINTER TABLE 




401 001470 

402 001474 
405 001474 
404 001476 


012704 


000022' 




40tt 


MOV 


«CCNTBL.R4 


;COLUNM COUNTER TABLE 




011225 






CALL 
MOV 


i(SP)» 
(R2),(R5>* 


;GET SYMBOL 
; INSERT LCOUNT 




405 001500 


016225 


000002 






MOV 


2(R2).(R^)* 


.'NSERT LHEAD 




407 001506 
409 001520 


010125 
016724 
166767 
100417 


1 76304 
176300 


17627* 




MOV 
MOV 
SUB 
BMI 


R1.(R$)* 
T2.{R4)» 


.INSERT POINTER TO TOP OF C01U»W 

; INSERT COLUF« COUNT 
.•PAGE fULL? 
;IF Ml YES 




410 001522 
411 


000401 








BR 


450t 




ill ma 

414 001526 
415 








451: 


















CALL 


a(sp>« 


; THREAD DOWN SYMBOL TABLE 










45UI: 


CALL 


TSTSYM 


;TEST SYMBOl FLAGS 




418 001540 


103774 
005367 
001371 


176256 






&I 


45t 

T2 

4SS 


.'IF SET NOT WANTED 
.END OF LINE? 
;IF NC NO 





•••• K 13 •••• 



1 



■■tun MAranmina \L~t\tc.7f no «;#. PAr.r 3-0 



KIPTWO MACRO mi08 U-DEC-77 09:56 PAGE 2-9 



A19 001542 

420 001546 

421 001550 

422 001556 

423 001560 

424 001560 

425 001566 

426 001574 

427 001574 

428 001600 

429 001604 
430 

431 001604 

432 001610 

433 001614 

434 001622 

435 001626 

436 001626 

437 001630 

438 001632 

439 001634 

440 001636 

441 001642 
442 

443 001644 

444 001646 

445 001650 

446 001654 

447 001656 

448 001660 

449 001662 

450 001664 

451 001664 

452 001666 

453 001670 

454 001672 

455 001676 

456 001700 

457 001702 
458 

459 001706 

460 001710 

461 001710 

462 001714 

463 001716 

464 001716 

465 001722 

466 001724 

467 001730 

468 001732 

469 001734 



470 
471 

47B 

475 



001754 



005767 176246 

001412 

016767 176226 176240 

000746 

066767 176232 176226 

016764 176222 177776 

012746 OOOOOOC 

016704 176206 



012702 000040' 
012705 000022' 
016767 OOOOOOG 176172 

012703 OOOOOOG 

005715 
001427 

103430 

103410 

010246 
010302 

010203 
012602 
005325 
000403 

024242 

005742 

000756 

005267 OOOOOOG 

005304 

001406 

005367 176106 

001347 



50$: 
60$: 
65$: 

70$: 



000733 



005226 

005767 1 76050 

001242 

005226 



75$: 
80$: 

85$: 

90$: 

100$: 



TST 


T1 


;ENO or PAGE? 


BEO 


60$ 


;IF EO YES 


MOV 


NSPC.T2 


.•RESTORE COLUNM LENGTH 


BR 


40$ 


:D0 NEXT COLUNM 


ADD 


T2.T1 


: RESTORE COLUNM LENGTH 


MOV 


T1.-2(R4) 


; CHANGE LENGTH 


MOV 


#$1SD1.-(SP) 


.•ADDRESS OF SYMBOL tABLE EDIT 


MOV 


NSPP.R4 


.•NUMBER OF SYMBOLS PER PAGE 


MOV 


#CPTR.R2 




MOV 


UrCCNTBL.RS 


.•ADDRESS OF COLUNM COUNTER TABLE 


MOV 


$NCLrfl,T1 


.•NUMBER OF COLUNMS 


MOV 


«$SYMBF,R3 


.'ADDRESS OF PARAMETER STORAGE 


TST 


(R5) 


:IS THERE A NEXT SYMBOL? 


BEQ 


85$ 


.•IF EQ NO MORE FOR COLUNM 


CALL 


a(SP)* 


.•GET SYMBOL 


BCS 


90$ 


.•IF C SET NO MORE 


CALL 


TSTSYM 


;TEST SYMBOL FLAGS 


BCS 


75$ 


;IF SET DON'T WANT 


MOV 


R2.-(SP) 


;SAVE CPTR POINTER 


MOV 


R3.R2 


;GET SYMBF POINTER ONTO R2 


CALL 


$MPSYM 


;GET SYMBOL AND INSERT 


MOV 


R2,R3 


;PUT SYMBF PTR BACK 


MOV 


(SP)»,R2 


;PUT CPTR BACK 


DEC 


(R5)t 


.•DEC. COUNT OF SYMBOLS IN COLUNM 


BR 


80$ 


;IF NE MORE SYMBOLS IN COLUNM 



CMP 

TST 

BR 

INC 

DEC 

BEQ 

Die 

BNC 

CALL 
BR 

CALL 

INC 

TST 

BNI 

INC 



RETURN 



-(R2).-(R2) 

-(R2) 

70$ 

$«PFLG 

R4 

90$ 

T1 

70$ 

$MPFSH 
65$ 

$MPFSH 

(SP)* 

LEFT 

30$ 

(SP)* 



UPDATE MAP BUFFER FLAG 
MORE SYMBOLS ON PAGE? 
IF EQ NO 
END OF LINE? 

IF NE NO 

END OF LINE 
DO NEXT l\m 

END OF PAGE 
CLEAR STACK 
ANY SYMBOLS LEFT 
IF NE YES 



TSTSYM - TEST SYMBOL FLAG FOR DEFINITION, INDIRECTNESS. AND 



**** L IS *•** 



MPTUn MACRO Mil 08 U-DEC-77 09:56 PAGF 2-10 



MPTyO NACRO mi08 U-OEC-77 09:56 PAGE 2-10 



476 
477 
478 

479 001736 

480 001736 

481 001740 

482 001746 

483 001750 

484 001756 

485 001760 

486 001766 

487 001770 

488 001772 
489 

490 
491 
492 
493 
494 

495 001774 

496 001774 

497 002000 

498 002004 

499 002010 

500 002012 

501 002016 

502 002016 

503 002020 

504 002024 

505 002026 

506 002032 

507 002036 

508 002036 

509 002042 

510 002044 

511 002046 

512 002052 

513 002054 

514 002054 

515 002062 

516 002064 

517 002064 

518 002066 
519 

520 002072 

521 002076 

522 002100 
5?S 002102 



524 002104 



000241 
132760 
001410 
132760 
001004 
132760 
001401 
000261 



TSTSVM: 



012704 
166704 
001002 
012704 

005002 
016701 
060402 

010267 

016703 
160203 
100403 
010467 
000420 

016767 
005003 

005002 
016701 

166701 
001403 
100402 
005202 
000772 

005202 




OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 
OOOOOOG 000001 G 



OOOOOOG 
OOOOOOG 

177773G 

OOOOOOG 

175754 
175736 

175730 

175720 175730 

175720 
OOOOOOG 



175666 
1 75660 



10S: 
20t: 

« 

t 

; CSOP- 

CSOP: 

Sli 

101: 
151: 

20S: 
25t: 

301: 

35t 

40t 
451 



EXCLUSION. 



CLC ; CLEAR CARRY BIT 

BITB «SYSDEF.SSYFLG(RO) .'DEFINITION? 

BEQ 10S :IF EQ NO 

BITB «SY»IND.StYFLG(RO> .'INDIRECT? 

BNE 10S :IF NE YES 

BITB «SYSEXC.SSYFLG«1(R0) ;EXCLUDE FLAG SET 

BEQ 20S ;IF NE YES 

SEC ;SET C - SYMBOL NOT WANTED 

RETURN 



CALCULATE NUMBER OF SYPQOLS ON CURRENT PAGE 



SAVRG 
MOV 



ADD 
SOB 
MOV 

MOV 
i\M 



000001 



BR 

MOV 
CLR 

CLR 
MOV 

SUB 
BCQ 

¥ 

INC 

MOV 
MOV 
RETURN 

.END 



«P$LNTH,R4 
SLNCNT,R4 
5S 
#P$LNTH-5,R4 

R2 

SNCINM.R1 
R4.')2 
RI.IOS 
R2.NSPP 

LEFT,R3 

R2.R3 

20i 

R4.NSPC 

45t 

LEFT.NSPP 

R3 

R2 

NSPP.RI 

SNCLNM.RI 

III 

R2 

301 

R2 

R2.NSPC .SAVE 
RS.LEFT 



SAVE NONOVOLATILE REGISTERS 

LINES ON A PAGE 

LINES REMAINING ON PAGF 

IF EQ PREVIOUS PAGE NOT FULL 

NEW PAGE 



.'NUMBER OF SYMBOLS ON THIS PGE 

.GET NUMBER OF SYMBOLS LEFT 
; # LEFT - #PER PAGE 
; IF MI LESS THEN A PAGE LEFT 
.'NO. OF SYMBOLS PER COLUNM 



;N0. ON THIS PAGE IS ONLY WHATS LEFT 
;ZERO WHAT'S LEFT 



.'NUMBER OF SYMBOLS PER COLUNM ^ 

;# SYMBOLS / » COI.UNMS 
;IF EQ DIVIDE IS OVER 
.'IF MI REMAINDER 

•CONTINUE DIVIDE 

.ROUND UP IF REMAIDER 

NO. OF SYMBOLS PER COLUNM 
.'SAVE LEFTOVER 



•••• M IS •••* 



MPTWO MACRO M1108 U-DEC-77 09:56 PAGE 2-11 



NPTWO MACRO Ml 108 
SYMBOL TABLE 



U-DEC-77 09:56 PAGE 2-11 



ABS 

CCNTBL 

CON 

CPTR 

CR 

CRSEC 

CSBSE 

CSLTH 

CSOP 

CS$ACC« 

CStALO- 

CSSGBL> 

CStINO* 

CSSLIBi: 

CStREL> 

CS$TYP« 

CStVASs 

CS»VSC« 

CtSBSE> 

CSSCUR* 

CtSFLG» 

CSSLGS* 

C$SLTM« 

D 

Dl « 

. ABS. 



000054R 
000022R 
000070R 
OOOOAOR 
000015 
OOOOOAR 
00001 OR 
000006R 
00177AR 
**♦* GX 

**** 
♦*♦♦ GX 
♦•♦♦ GX 
*«♦* GX 
**** 



GX 
GX 



GX 
GX 



♦*♦♦ GX 

GX 
GX 
GX 
GX 
GX 



**** 
**** 

000020R 
000001 



000000 
002122 
STBISD 000074 
MT X2$D 000510 
ERRORS DETECTED: 



002 E$LCMT= 
E»L1DT= 

002 ESLMOO= 
E$LNUM= 
ESLSWT- 
FF 

FMT1 
FMT2 
FMT3 
FMT32 
FMT4 
FMT5 
FMT52 
FMT53 
FMT5A 
FMT55 
FMT56 
FMT57 
GBL 

GBLLCL» 
HT » 
I 
LCL 

002 LEFT 
LF 

000 
001 
002 
003 



****** 

****** 
****** 
****** 
****** 

oooou 

OOOOOOR 

000033R 

000057R 

00021 7R 

0001 17R 

0001 57R 

000261 R 

000321 R 

000361 R 

000423R 

000456R 

000504R 

000034R 

000003 

000011 

000024R 

OOOOAOR 

OOOOOOR 

000012 



GX 
GX 
GX 
GX 
GX 



MPCSA 
MPCTB 
MPGBL 
NSPC 
NSPP 
OVR 
003 0VRC0N= 
003 PSARG 
003 PSARGN<> 
003 PSLNTHs 
003 REL 
003 RELABSs 
003 RO 
003 RORW » 
003 RW 
003 RSSIIMs 
003 SESQA s 
003 SGSDSK< 
002 SGSRO s 
SPA « 
STRTE 
SWSMA - 
002 SV$DEF» 
SY$EXC» 
SY»IND= 



002 



001050R 

001124R 

0013SAR 

000002R 

00001 2R 

000064R 

000003 

OOOOOOR 

000005 

****** GX 

000050R 
000003 
OOOOOAR 
000002 
00001 OR 
000000 
****** GX 
****** GX 
****** GX 
OOOOAO 
000002R 
****** GX 
****** GX 
****** GX 
****** GX 



VIRTUAL MEMORY USED: 1603 WORDS ( 7 PAGES) 
DYNAMIC MEMORY: 157AA WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:26 

[31 .203MPTW0.C31 ,30]MPTUO/-SP=C31 .103MACFLM.MPTWO 
T • 



SSGBLK^ 
SSGCSTs 
S$GLNG« 
SSGNME- 
StGNTB- 

002 SSGSEQ= 
SSGSTB- 

002 SSGSTS- 
S»YFLG= 
SfYM = 

002 TSTSYM 
TSSKF = 

002 T1 
T2 

002 T3 
VT 

SABSNMs 
SBEGRO^ 
SBEGRWc 

SCRELM:: 

$CRSEG< 
SCRVSG= 
SCVRL = 
»DIV = 



*** 
*** 
*** 
*** 
•** 
*** 
*** 
•** 
*** 
*** 



GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
001736R 
****** GX 
00001 AR 
00001 6R 
000020R 
000013 

• GX 

• GX 

• GX 

• GX 

• GX 

• GX 

• GX 

• GX 



$ENDR0= 

SENDRW- 

$INPPT= 

SISDI = 

SISED = 

$LNCNT= 

IMPCHK= 

SMPEDT- 

$MPFLE= 

$MPFL6« 

SMPFSHs 

SMPOUTs 

SMPSEG 

$MPSYM= 

SNCLNMs 

SNUMSG' 

$OFFST= 

SRTSEGs 

SSAVRG- 

SSTELMs 

SSWTCHs 

SSYMBFc 

SWRMPG- 

$$ 



***** 
***** 

<!**** 
***** 
***** 
***** 



GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 
GX 



***** 
***** 
***** 
***** 
***** GX 
0001 12RG 
***** GX 
***** GX 
***** GX 
***** 



***** 
***** 
***** 
***** 
***** 
000001 



GX 
GX 
GX 
GX 
GX 
GX 
GX 



♦••* N IS *••• 




*•*• I u •**• 



www* H |<| «vw« 



NRKPG MACRO M1108 U-DEC-77 09:57 PAGE 2 



1 
2 
3 

A 

5 

6 

7 

8 

9 
10 
11 
12 
13 
U 
15 
16 
17 
18 
19 
20 
21 
22 
23 
2A 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 

43 000000 

44 OOOOOC 

45 000004 

46 000010 

47 000012 

48 000016 

49 00001 (S 

Im^ 

53 000024 

54 000030 

55 000032 

56 000036 

57 000036 



103402 
105260 



OOOOOOG 



103402 
105360 



OOOOOOG 



.TITLE MRKP6 
. I DENT /OO/ 



COPYRIGHT 1974, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE iriFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 00 

C. MONIA 22-FEB-74 

ROUTINES TO SET/CLEAR PAGE STATUS BITS 



**-$LCKPG-LOCK A PAGE IN MEMORY 
**-$UNLPG-UNLOCK A PAGE FROM MEMORY 
••-IWaMPG-MARK PAGE AS WRITTEN INTO 

INPUTS: 

R1 'VIRTUAL ADDRESS 
OUTPUTS: 

C-CLEAR: PAGE WAS MARKED AS REQUESTED 

C-SET: PAGE NOT RESIDENT 
ALL REGISTER CONTENTS ARE PRESERVED 



ILCKPG:: 



lOli 



SAVVR 
CALL 
BCS 
INCB 

RETURN 



tUNLPG:: 



lOll 



SAVVR 
CALL 
BCS 
DECB 

RETURN 



tFNDPG 

10$ 

PtGLOKCRO) 



IFN'jrO 

101 

PtGLOK(RO) 



SAVE VOLATILE REGISTERS 
FIND SPECIFIED PAGE 
.F C/S PAGE NOT IN MEMORY 
INCREMENT LOCK COi^r 



SAVE VOLATILE REGISTERS 
FIND SPECIFIED PAGE 
IF C/S PAGE NOT IN MEMORY 
DECREMENT LOCK COUNT 



*•*• c u •*** 



L l«» "w»w 



MRKPG MACRO Ml 108 1A-0EC-77 09:57 PAGE 2-1 



58 

59 OOOOAO 

60 OQOOAO 

61 OOOOAA 

62 000050 

63 000052 
6A 000060 
65 000060 
66 

67 



SURMPG: 



103A03 
152760 



000001 



OOOOOOG OOOOOOG 



10S: 



SAVVR 
CALL 
BCS 
BISB 

RETURN 

.END 



SFNDPG 
10S 



FIND SPECIFIED PAGE 
IF C/S NOT RESIDENT 



#PG$WRT.P$GSTS(R0) ; WRITE-MARK PAGE 



**** D 14 ««•« 



MRKPG MACRO Ml 108 U-DEC-77 09:57 PAGE 2-2 
SYMBOL TABLE 



P6$WRT= ****** 6X 
P$GLOK= ****** GX 
P$GSTS= ****** GX 



CR = 000015 

FF = OOOOU 

HT = 000011 

LF = 000012 

. ABS. 000000 000 
000062 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 600 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 157AA WORDS ( 60 PAGES) 
ELAPSED TIME- 00:00:06 
C3V,205mRKPG,C31 .303MRKPG/-SP=C31 .103MACFLM.MRKPG 



R$S11M= 000000 
SPA = OOOOAO 
VT = 000013 



$FNDPG= ****** GX 
SLCKPG OOOOOORG 
SSAVVR= ****** GX 



SUNLPG 000020RG 
SWRMPG 000040RG 
S$ = 000001 



t*** E 14 **** 




*•*• f ]^ ttt* 



nULSG 



MACRO M1108 U-DEC-77 09:57 PAGE 2 



000200 



000002 
OOOOOA 
000010 
000010 



54 

55 000000 

57 000000 



.TITLE MULSG 
. I DENT /08/ 



COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR Uit IN SUCH SYSTEM, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE Ai;D SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 08 

D. N. CUTLER/C. MONIA 12-DEC-73 

MODIFICATIONS: 



NO. DATE 


PROGRAMMER 


021 11-JAN-7A 
OAS 21-OCT-75 
052 22-MAR-76 


C. MONIA 
C. MONIA 
C. MONIA 


GENERATE SEGMENT DESCRIPTORS 


FOR MULTI-S 


EQUATED SYMBOLS 




RESIDENCY FLAG 





RS$FLG==200 ; 

PARSED DIRECTIVE OFFSET DEFINITIONS 



TSYP=»2 
LSAB'-A 

N$XTs=10 
F$LG>«N$XT 



OFFSET-TYPE OF ENTRY 
OFFSET-LABEL Of ENTRY 
OFFSET-NEXT BYTE ADDRESS 
OFFSET-CONTROL SECTION FLAGS 



; 



ITEM TYPES 



.DSECT 
StOS:: .BLKW 1 



;**NEW** 

;**NEW** 
;**NEW** 

;**NEW** 
;**NEW** 
r**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 

;**NEW** 

;«*NEW** 
;**NEW** 
;**NEW»* 
;**NEW*» 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 



;**NEW** 
;**NEW** 
.•**NEW** 
;**NEW** 



;**NEW*« 
;**NEW*« 
;**NEW«« 
;**NEW** 
;**NEW** 
I •♦NEW** 
;**NEW*« 
;**NEW*« 
;**NEW*< 
;**NEW*« 

;**NEW*< 

;**NEW*« 
;*»NEW«« 



; START OF STRING 



*••* Q ^4 •«•* 



MULSG 



MACRO M1108 U-DEC-77 09:57 PAGE 2-1 



58 000002 

59 OOOOOA 

60 000006 

61 000010 

62 000012 

63 0C0O1A 
6A 000016 
65 



69 

70 000020 

71 000022 

72 00002A 



OOOOAO 



000040 



ESOS:: 
L»PAR: 
RSPAR: 
CSOMA: 
DSASH: 
S$TAR: 
ESXCL: 



.BLKW 
.BLKU 
.BLKW 
.BLKW 
.BLKW 
.BLKW 
.BLKW 



END OF STRING 

LEFT PARENTHESES 

RIGHT PARENTHESES 

COMMA 

DASH (MINUS SIGN) 

ASTERISK 

EXCLAMATION POINT 



ALL OPERATOR ASSIGNMENTS MUST FOLLOW SECTION NAME 



SSCTN 
SSEGN 
FSILE 



.BLKW 1 
.BLKW 1 
.BLKW 1 



SECTION NAME 
SEGMENT NAME 
FILE 



NUMBER OF NESTED PARENTHESIS LEVELS ALLOWED 
N$PLVL«32. J 

NUMBER OF SEGMENT DESCRIPTION NAME LEVELS ALLOWED 



N$SLVL==32. 



; 



LOCAL MACROS 

GENERATE LEGAL CONSTRUCTION MACTRIX 

GCON TYPE,»/A/ 

WHERE: 

TYPEsITEM TYPE 

A'LEGAL PRECEDING ITEM TYPES 



.MACRO GCON TYPE, A 
.PSECT CMAT.D.D.GBL 
.«ICBAS*TYPE 



^e. <A> 

X,<A> 



MASK'O 

.IF 

.IRP 
N«1 

.REPT X/'2 
N«N*2 

.ENDR 
MASK>MASK!N 

.ENDM 

.Indc 
.word mask 



;**NEW*< 
;**NEW*« 
; **NEW*< 
;**NeW** 
;**NEW»« 
.•*NEW** 
;**NEW*« 
!**NEW*« 
;**NEW*< 

;**NEW*« 

I •♦NEW** 
;**NEW*< 
;**NEW*« 
;**NEW*« 

;**NEW*< 

I ••NEW** 
;**NEW*« 
;**NEW*« 
;**NEW** 
;**NEW^« 
;**NEW*« 
;**NEW*« 
;**NEW^« 
;**NEW** 
[••NEW^« 
[••NEW^« 
;^^NEW*« 
;**NEW*« 
;**NEW*« 
[••NEW** 
;**NEW*« 
;**NEW«* 
;**NEW** 
;^*NEW^* 
;**NEW^* 
;**NEW*< 

;**NEW*« 

[••NEW** 

[•♦NEW*< 
l**NEW*< 
;**NEW*« 



•••• H U ••*• 



•***>/. .t*4Aa n_Ker_*9 Aa.t9 BA/:e 3_3 



MULSG 



MACRO r-r08 U-OEC-77 09:57 PAGE 2-2 



AC 

«1 

A2 

A3 

A4 000000 

A5 000000 

A6 000000 

A7 OOOOOA 

A8 OOOOOA 

A9 OOOOOA 

50 OOOOOA 

51 OOOOOA 

52 OOOOOA 

53 OOOOOA 
5A OOOOOA 

55 OOOOOA 

56 OOOOOA 



62 OOOOOA 



.PSECT 
.ENDM 



LOCAL DATA 
.PSECT 
; AUTOLOAD LEVEL COUNT 

; 

SALVL:: .BLKW 1 

AUTOLOAD REQUIRED FLAG 
SAFLG:: .BLKW 1 



LEGAL CONSTRUCTION MATRIX 

THE MATRIX IS AN N-WORD BY N-BIT ARRAY . WHERE N -ITEM TYPE/2. 

THE ARRAY IS USED IN 'MLSGI* TO VERIFY THAT EACH LINE OF ODL INPUT IS 

OF THE PROPER SYNTAX. 

.PSECT CMAT.D.D.GSL 
SCBAS:: ; REF LABEL 

GCON SSOS 

GCON ESOS.*/RSPAR.StCTN,SSEGN.F$ILE/ 

GCON LSPAR,*/LSPAR,CtOMA.D»ASH,SSTAR.E$XCL/ 

GCON RSPAR,VRSPAR,SICTN,SSEGN,F$ILE/ 

GCON C$OMA,*/R$PAR,SSCTN.SSEGN,FSILE/ 

GCON DtASH,*/SSCTN,SSEGN,FtILE/ 

GCON S$TAR,*/S$OS,LtPAR,CSOMA.DSASH/ 

GCON EtXCL.*/StOSAtPAR,CtOMA.DSASH,SSTAR/ 

GCON StCTN,*/StOS,LtPAR,CtOMA,DSASH.SSTAR/ 

GCON StEGN,*/StOS.LtPAR,CSOMA.DSASH,SSTAR/ 

GCON FIILE,VS$OS.LlPAR,CtOMA,DtASH,SSTAR/ 

; 

; PARSED DIRECTIVE LISTHEAD 

« 

SDIRHD::.BLKW 2 ; 

SEGMENT DESCRIPTION STACK 

EACH ENTRY IN THIS STACK IS A LISTHEAD CONSISTING OF TWO WORDS. 
THE LISTHEADS ARE USED TO COLLECT THE SEGMENT DESCRIPTION FOR 
EACH PARENTHESIS LEVEL. 



;**NEW** 
; ♦*NEW** 
;**NEW** 
; •*NEW** 
;»*NEW** 
;**NEW** 



»*NEW*' 
»*NEW*« 
►♦NEW** 
»*NEW«« 
»*NEW*« 
"•NEW** 
»*NEW*« 
»*NEW*« 
►•NEW** 
►*NEW*« 
►*NEW** 
»*NEW*< 
►*NEW*« 
►♦NEW** 
►*NEW*« 
►♦NEW** 
►*NEW*« 
►*NEW*« 
►*NEW*« 
►*NEW*« 
►♦NEW^< 
►♦NEW^« 
•♦NEW** 

k*NEW^« 
• *NEW*« 
►*NEW*< 
►♦NEW^« 

►•NEW^« 
»*NEW^« 
►NEW** 
•*NEW*« 
•*NEW*« 
»*NEW*« 
►*NEW*« 
»*NEW*« 
►♦NEW*< 
i*NEW^< 
►♦NEW^* 
k*NEW*< 

► *NEW*« 
►*NEW*« 
>*NEW*< 
►*NEW*< 

► ♦NEW*« 
>*NEW*« 



•••• I tA ••** 



MAAJtAA AAttAS 



4A_fc*^.99 AA.ftV BAAS ^-t 



MULSG 



172 000010 

173 

17A 

175 

176 

177 

178 

179 000210 000000 

180 000212 016 
181 

182 
183 
184 
185 

186 0002U 000000 

187 000216 002 
188 

189 

190 

191 

192 

193 000220 

19* 000222 000 

195 

196 

197 

198 

199 

200 000224 000000 

201 000226 OU 
202 

203 

204 

205 

206 

207 

208 000230 

209 

210 

211 

212 

213 

215 
216 
217 
218 
219 000432 



000 



MACRO Ml 108 14-DEC-77 09:57 PAGE 2-3 
SDSTK:: .BLKW N$PLVL*2 

EXCLAMATION POINT (RESIDENCY OPERATOR) 



tEXCL:: .WORD 

.BYTE ESXCL.O 



000 



000 



000 



LAST ITEM OPERATOR ENTRY 



SEOSOP::.WORD 

.BYTE EtOS.O 



SOS OPERATOR ENTRY 



tSOSOP::.BLKW 1 

.BYTE S$OS.O 



ASTERISK OPERATOR ENTRY 



tSTAR:: .WORD 

.BYTE SSTAR.O 



ROOT SEGMENT PARSED DIRECTIVE POINTER. 
IRTDIR::.BLKW 1 



; TEXT POINTER STACK 

; 

.BLKW NISLVL*2 
tTSTK:: ; REF LABEL 

I 

;♦ 

; ••-•MULSG-CREAIE MULTJSEGMENt DESCRIPTION 

; INWTS; 

i THE ODL riLE. 

t 



: LINK TO NEXT IS ALWAYS ZERO 



.-♦•NEW** 
.-♦♦NEW** 



;**NEW*« 
[••NEW** 
[••NEW** 
[••NEW** 
[**NEW** 
[**NEW*'« 
[**NEW*« 
[**NEW** 
[••NEW** 
[**NEW** 
[••NEW** 
[••NEW** 



[••NEW** 
[**NEW** 
[•*NEW*« 
[**NEW** 
[**NEW** 
[••NEW^* 
[••NEW^* 
[**NEW** 
[**NEW** 
[**NEW** 
[**NEW** 
[•*NEW** 
[•*NEW** 
[**NEW** 
[**NEW** 
[••NEW** 
(**NEW** 
[**NEW** 
[**NEW** 
[**NEW** 
[**NEW** 
[••NEW** 
[**NEW** 
[••NEW*< 
[•*NEW** 
[**NEW** 



•••• J U •••• 



1 ^..A 



MArBn «11/\B 1/._fkef-.y7 nOiO BA/IC 3_i, 



WJLSG 



NACRO ClllOa U-OEC-77 0<»:57 PAGE 2-A 



229 
230 
231 
232 
233 
2V. 
255 
236 
237 
238 
239 
240 
241 
2^2 
243 
244 
245 
246 
247 
248 
249 
250 
251 
252 

253 000432 

254 000432 

255 000436 

256 000442 

257 000446 
258 

259 
260 
261 
262 
263 
264 
265 
266 
267 
268 
269 
270 
271 
272 
273 
274 
275 

276 000452 

277 000452 

278 000456 

^W& 

28! 000464 

17: 



012701 
011101 




000004' 



000004 



000002 000006 



OUTPUTS: 

THC SEOfCNT TABLES AND ELEMENT LISTS DESCKIBING 
A nULTI-SEGKNT TASK ARE BUILT IN DYNAMIC STORAGE. 

CREATION OF THE SEGMENT TABLES FROM THE ODL INPUT 
IS A THREE STEP PROCESS. IN STEP 1 THE OOL FILE ;S READ 
ONE LINE AT A TIME AND RETAINED IN DYNAMIC STORAGE AFTER 
VERIFYING CORRECT LINE FORMAT. IN STEP TWO THE ENTIRE 
OOL IS PARSED INCLUDING A 'PARSE/FIND' ON EACH INPUT FILE. 
CONSTRUCTION OF THE SEGMENT TABLES AND ELEMENT DESCRIPTORS 
IS DONE IN PHASE THREE. 

THE ODL ROUTINES CONSIST OF THE FOLLOWING PRINCIPLE 
MODULES: 

MULSG 
MLSGO 
MLSG1 
MLSG2 



TOP LEVEL CALLS. COMMON DATA AND SUBROUTINES 
READ THE ODL AND VERFIFY LINE FORMAT 
PARSE THE SEGMENT DESCRIPTION 
CREATE THE SEGMENT TABLES 



SMULSG:: 



SAVRG 

CALL IMLSGO 

CALL SMLSGI 

CALLR IMLSG2 



SAVE NON-VOLATILE REGISTERS 

READ ODL FILE. BUILD PARSED SEGMENT DESCRIPTOR 

PARSE SEGMENT DESCRIPTION 

GENERATE SEGMENT TABLES. EXIT 



COMMON SUBROUTINE TO SCAN PARSED DIRECTIVE LIST FOR A MATCH 

THE PARSED DIRECTIVE LIST POINTED TO B' 'IDIRHD' IS SCANNED FOR 
A LABEL MATCH. 



INPUTS: 

R5: POINTS TO TWO-WORD RADIX 50 NAME 

OUTPUTS: 

C-SET: MATCHING LABEL NOT roUND 
C-CLEAR: MATCHING LABEL FOUND 



ISCNL: 
101: 



20S: 



MOV «IDIRHD.R1 ; GET ADDRESS OF LlSTHEAD 

MOV (RD.RI ;GET ADDRESS OF NEXT ENTRY 

SEC ; ASSUME NO MORE 

BEO 20t , IF FQ VFS DONE 

CMP (R5).L»AB(R1) ; flRST HALF MATCH? 

BNE 101 ;|F NE NO 

CMP 2<R5).LtAB+2(R1) : SECOND HAl F MATCH? 

BNE lot .IF NE NO 

RETURN ; 



♦♦NEW* 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW* 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW* 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW* 
♦♦NCW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦•NEW^ 
♦•NEW* 
•♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦*NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW* 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW* 
**NEW* 
**NEW* 
♦♦NEW^ 
♦♦NEW^ 
♦♦NEW* 
**NEW* 
**-1120 



;**NEW** 
.••*-1 
;**NtW** 
.•••-1 



•••• K U •••« 



MAr»n Milfll U.Btr.7; OO^ST PAfil P-« 



1 




••*• I t4 •••• 



»jliG NACRONIIOS U-Olt-77 09:5/ PAGf ?-6 



MULSG 
SYMBOL TABLE 



l«IACRO M1108 U-DEC-77 09:5/ PAGE 2-6 



CR 

CtOMA 

DUSH 

ESOS 

EtXCL 

FF 

F»ILE 

F»LG = 

HV = 

. ABS. 



000015 
000010 
000012 
000002 
000016 
OOOOU 
00002A 
000010 
000011 



000026 000 

000504 001 

CNAT.D 000026 002 

ERRORS DETECTED: 



LF 

LSAB - 
LSPAR 
MASK s 
N 

N$PLVL= 
NSSLVL= 
N»XT = 
RStFLG= 



000012 
OOOOOA G 
OOOOOA G 
000165 
000100 
000040 G 
OOOOAO G 
000010 G 
000200 G 



R$PAR 

R$S11M= 

SPA = 

SSCTN 

SSEGN 

SSOS 

SSTAR 

T$YP = 

VT 



000006 
000000 
000040 
U00020 
000022 
000000 
OOOOU 
000002 
000013 



SAFLG 


000002RG 


WLSG2= 


•*•*** GX 


SALVL 


00OO00R6 


SMUlSG 


0004 32RG 


SCBAS 


OOOOOORG 


002 SRTOIR 


000230RG 


SDIRHD 


000004RG 


SSAVRG- 


•*•••« GX 


SDSTK 


00001 ORG 


SSCNL 


000452RG 


SEOSOP 


0002URG 


SSOSOP 


000220RG 


SEXCL 


00021 ORG 


SSTAR 


000224RG 


»MLSGO= 


**•••• GX 


»TSTK 


000432R6 


WLSGU 


..♦.*♦ GX 


$» 


000001 



VIRTUAL MENORV USED: 1756 WORDS ( 7 PAGES) 
DYNAMIC MEMORY: 15744 yORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:28 

[31 .20DMULSG.C31 ,30]MULSG/-SP=r51 ,10]MACFLM. MULSG 
TC' 



•••• M U •••• 




••** N 14 *«•* 



NXTFi 



MACRO Ml 108 U-DEC-77 09:57 PAGE 2 



9 

10 
11 

II 

u 

15 
16 

17 

ie 

19 
20 
21 
22 
23 
24 
25 
26 
27 
2P 
29 
30 



1$ 



005767 
0OU12 

103432 
010501 

103766 
012767 






OOOOOOG 




.TITLE NXTFL 
.lOENT /05/ 

COPYRIGHT 197A. DIGITAL EQUIPMENT CORP.. MArNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SVSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SVSTEil, EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE fjR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION OS 

D. N. CUTLER/C. MONIA 21-JAN-7A 

**-$NXTFL-6ET NEXT INPUT FILE 

THIS ROUTINE IS CALLED TO GET THE NEXT INPUT FILE SPECIFICATION AND 
PLACE IT IN THE OBJECT FILE RECORD BLOCK. IF SMRFLG IS NONZERO, THEN 
THE SCANNING ROUTINE IS CALLED IMMEDIATELY. ELSE THE NEXT COMMAND IN- 
PUT LINE IS nEAD AND THEN THE SCANNING ROUTINE IS CALLED. 



.••♦NEW** 
.•••-1 



;«*NEW«* 
.•••-2 



INPUTS: 



R5-ADDRESS OF TEMP BUFFER. 



OUTPUTS: 



< 
I 
J 
I- 

SNXTFL: 
Ml 



C'1 IS COMMAND INPUT IS FINISHED. 

C-O IF NEXT INPUT FILE HAS BEEN OBTAINED. 



OOOOOOG OOOOOOG 

OOOOOOG 

OOOOOOG 



101: 



:TST 
BEQ 
CALL 
BCS 
MOV 
CALL 
BCS 
MOV 

CALL 

SV 
V 
CALL 
MOV 
BCS 
CALL 

Is 



SMRFLQ 

lot 

IGTCML 

hi 

R5,R1 
ISYNTXt 
SNXTFL 
fSSCANO.SSCANR 



ICLRMN 

•ISCANR 

RO.IMRFLG 

SNXTFL 




«SLND|S,R2 
«<SSV2*iOO! 



ANY MORE FILES? 

IF EQ YES 

GET NEXT COMMAND INPUT LlNC 

IF CS LOGICAL EOF 

GET ADDRESS OF TEMP BUFFER 

ANALYZE SYNTAX 

IF CS SYNTAX ERROR 

SET ADDRESS OF SCANNING ROUTINE 



INITIALIZE LIBRARY MODULE NAME LIST 

GET RECORD BLOCK ADDRESS 
GET ADDRESS OF TEMP BUFFER 
CALL SCANNING ROUTINE 
SAVE MORE FILES FLAG 
IF CS BYPASS NULL FILE 

BUILD MODULE NAME LIST 

IF C/C OK 

Gr ADDRESS OF COMMAND LINE BUFFER 
ESR7B>,R1 ; GET ERROR/SEVERITY 



.'••NEW** 
.••*NEW** 
.••♦NEW«* 
• ••-1 



;**NEW«* 
;»*NCW«* 
;**NEW** 
;**NEW*» 



•••• 1 15 **** 



*•** B 13 **** 



NXTFL ^^ACRO MHOS U-OEC-77 09:57 PAGE 2-1 

58 00007A CALL SERMSG ; FATAL. NORETURN ;**NEW** 

59 000100 20S: RETURN 
60 

61 000001 .END 



•**# c 15 *••• 



»»«« L }j ••«« 



NXTFL MACRO Ml 108 
SYMBOL TABLE 



z^ 


= 


000015 




E*R78 


r 


****** 


GX 


FF 


s 


OOOOH 




HT 


= 


00001 1 




LF 


s 


000012 





U-DEC-77 09:57 PAGE 2-2 



R$$11M= 000000 
SPA = 000040 
Stv2 = ♦**♦♦* GX 
VT = 000013 



ABS. 



I8LMNT= ****** GX 
$CLRMN= ****** GX 
SERMSG= ****** GX 
$GTCML= ****** GX 



$INIPT= ****** GX 
»LNDES= ****** GX 
$MRFl.G= ****** GX 
SNXTFL GOOOOORG 



$SCANO= ****** GX 
$SCANR= ****** GX 
$SVNTX= ****** GX 
$$ = 000001 



000000 000 
000102 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 670 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 157A4 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:08 

C31 ,20]NXTFL,t31 .30]NXTFL/-SP=C31J0]MACFLM,NXTFL 
dr 



***• D t5 **** 




*••» E 15 ' »•* 



PCTRL MACRO MllOB 1A-DEC-77 09:58 PAGE 2 



1 
2 
3 

4 

5 

6 

7 

8 

9 
10 
11 
12 
13 
U 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 

30 000000 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 

H 

54 000002 

55 000006 010005 
" 000010 012767 

000016 005046 



n 



5 



)77777 177762 



.TITLE PCTRL 
. I DENT /03/ 



COPYRIGHT 1973, DIGITAL EQUIPMENT CORP.. MAyNA.7D. MASS. 
COPYRIGHT 1974. DIGITAL EQUIPMENT CORP.. MAVNARi>. MASS. 
COPYRIGHT 1976. DIGITAL EQUIPMENT CORP.. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 03 

D. N. CUTLER/C. MONIA 18-MAR-74 

PHASE CONTROL ROUTINE 

LOCAL DATA 



SLVL: 



.BLKW 1 



DISTANCE OF SEGMENT FROM ROOT 



••-SPCTRL-PHASE CONFROL 



THIS ROUTINE IS CALLED TO CONTROL THE PROCESSING OF ALL SEG- 
MENTS IN ALL PHASL::. as EACH SEGMENT IS CONSIDERED. A PHASE 
DEPENDENT ROUTINE IS CALLED. 

INPUTS: 

RO-ADDRESS OF PHASE DEPENDENT ROUTINE. 

OUTPUTS: 

SCRSEGsREAL ADDRESS OF CURRENT SEGMENT DESCRIPTOR 
tCRVSG=VIRTUAL ADDRESS OF SEGMENT DESCRIPTOR 
$LVL=DISTANCE OF SEGMENT FROM ROOT (0=ROOT LEVEL) 

THE PAGE CONTAINING THE DESCRIPTOR IS LOCKED IN MEMORY AND UNLOCKED 
ON RETURN FROM T'iE CALLED ROUTINE. 



IPCTRL::SAVR6 
MOV 
MOV 
CLR 



R0,R5 

#-1,$LVL 

-(SP) 



SAVE NON VOLATILE REGISTERS 
SAVE SUBROUTINE ADDRESS 
INITIALIZE LEVEL COUNT 
SET ZERO SENTINEL WORD 



;**NEW«* 
;**NEW** 
;«*NEW** 
;**NEW** 

;**NEW»* 
;**NEW** 
;**NEW** 
r**NEW** 
r**NEW»* 
;**NEW** 
;**NEW** 
r**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 

;»*NEW** 
;**NEW** 
;**NEW** 
;**-13 



.•**-13 



.•**NEW** 
;**NEW** 

;**NEW«* 
.-•♦NEW** 
;**NEW** 
;**NEW** 

;**NEW** 
.•♦♦NEW** 

;**NEW** 



*•«• f 15 •*«• 



PCTRL MACRO M1108 U-'0EC-77 09:58 PAGE 2-1 



58 000020 

59 00002A 

60 00002A 

61 000^30 

62 000032 

63 000032 
6A 00003A 

65 OOOOAO 

66 OOOOAA 

67 000050 

68 000052 

69 000054 

70 000060 

71 00006A 

72 000070 

73 000072 
7A 00007A 

75 00007A 

76 000100 

77 000104 

78 000106 

79 000110 

80 0001 U 

81 000116 

82 000120 

83 000124 

84 000126 

85 000126 

86 000130 



016746 003000G 

005267 17'*750 
011646 

011601 

010067 OOOOOOG 
010167 OOOOOOG 

011601 



016046 OOOOOOG 

001355 

005726 

016016 OOOOOOG 

021666 000002 

001352 

022626 

005367 177664 

011601 

001403 

000763 

005726 



10$: 
20S: 



30$: 



MOV $RTSEG.-(SP) 

INC $LVL 

MOV (SP).-(SP) 

MOV (SP),R1 

CALL $CVL0K 

MOV R0,$CRSEG 

MOV R1,$CRVSG 

CALL (R5) 

MOV (SP).RI 

CALL $CVRL 

CALL $UNLPG 

MOV S$GUP{RO),-<SP) 

BNE 10$ 

TST (SP)+ 



40$: 



MOV 


S$GNXT(RO),(SP) 


CMP 


(SP),2(SP) 


BNE 


20$ 


CMP 


(SP)+.(SP)* 


DEC 


$LVL 


MOV 


(SP).RI 


BEQ 


40$ 


CALL 


$CVRL 


BR 


30$ 


TST 


(SP)* 


RETURN 





u 



PUSH VIRTUAL ADDRESS OF ROOT 

INCREMENT LEVEL COUNT 

SET SENTINEL AT THIS LEVEL 

GET VIRTUAL ADDRESS OF CURRENT 

CONVERT TO REAL ADDRESS, LOCK IN MEMORY 

SAVE REAL ADDRESS OF CURRENT 

SAVE VIRTUAL ADDRESS OF CURRENT 

CALL SUBROUTINE 

GET VIRTUAL ADDRESS OF CURRENT 

CONVERT TO REAL ADDRESS 

UNLOCK PAGE 

PUSH LINK-UP 

IF NE HAVE LINK UP 

REMOVE ZERO WORD 

REPLACE TOS WITH LINK-NEXT 

CHECK TOS AGAINST SENTINEL 

IN NE. VALID LINK-NEXT 

DONE ALL ENTRIES AT THIS LEVEL 

DECREMENT LEVEL COUNT 

GET VIRTUAL ADDRESS OF OLD CURRENT 

IF EQ DONE 

CONVERT TO REAL ADDRESS 

SCAN ENTRIES AT NEXT LOWEST LEVEL 

POP ZERO SENTINEL WORD 



000001 



.END 



;**NEW** 
;**NEW** 

;**NEW** 
;**NEW** 
;**NEW*« 
; •♦NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
; **NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
:**NEW** 
;**NEW** 

;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**NEW** 
;**-45 



*••* G IS **** 



PCTRL MACRO Ml 108 
SYMBOL TABLE 

CR = 000015 

FF = OOOOU 

HT = 000011 

LF = 000012 



1A-DEC-77 09:58 PAGE 2-2 



RSS11M= 000000 
SPA = OOOOAO 
S»GNXT= *»»*** GX 
S$GUP = ****** GX 



VT = 000013 
»CRSEG= ****** GX 
$CRVSG= ****** GX 
$CVL0K= ****** GX 



$CVRL = ****** GX 
SLVL OOOOOORG 
$PCTRL 000002R6 
$RTSEG= ****** GX 



$SAVRG= ****** GX 
$UNLPG= ****** GX 
$$ = 000001 



. ABS. 000000 000 
000132 001 
ERRORS DETECTED: 

VIRTUAL MEMORY USED: 615 WORDS ( 3 PAGES) 
DYNAMIC MEMORY: 157AA WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:09 

C51 .203PCTRL.C31 ,303PCTRL/-SP=C31 .103MACFLM,PCTRL 
f " 



***• H IS **•• 



r- 




•*•* ] IS **** 



PRCER MACRO Ml 108 U-DEC-77 09:58 PAGE 3 



.TITLE PRCER 
. I DENT /OO/ 



COPYRIGHT 197A, DIGITAL EQUIPMENT CORP.. MAYNARD. MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 00 

C. MONIA 18-APR-7A 

ERROR MESSAGE PROCESSING 

LOCAL DATA 



27 














28 000000 
30 000000 








.PSECT 


ETXTSD.D.GBL 




124 


113 


102 DIAG: 


.ASCIZ 


/TKB — •DIAG*-/ ; 


DIAGNOSTIC PR 


000003 040 


055 


055 










000006 040 


052 


104 










000011 111 


101 


107 










OOOOU 052 


055 


000 










31 000017 


124 


113 


102 FATAL: 


.ASCIZ 


/TKB — •FATAL*-/ 


; FATAL PREFIX 


000022 040 


055 


055 










000025 040 


052 


106 










000030 101 


124 


101 










000033 114 


052 


055 










000036 000 















39 

40 000000 

41 



.IF DF S$$MSG 
SUFFt .ASCi: /I2N/ ; STANDARD SUFFIX 
.ENDC 

.PSECT 

y 
••-IPRCER-PROCESS ERROR MESSAGE 

INPUTS: 

I R1«ERR0R/SEVERITY 

I R2'PARAMETER BLOCK ADDRESS 



*••• J 15 **** 






_«• AA.SB 



IhAJk* *_« 



PRCER MACRO Ml 108 U-OEC-77 09:58 PAGE 3-1 



62 
63 
6A 
65 
66 
67 
68 
69 
70 
71 
72 
73 
7A 
75 
76 
77 
78 
79 
80 
81 
82 
83 

85 
86 
87 
88 

89 
90 
91 
92 
93 
94 
95 
96 
97 
98 



900000 
000000 
000002 

000004 
000006 

000010 
000012 
000016 
000020 
000024 
000026 
000026 
000032 
000036 
000040 
000042 
000044 
000046 
000052 
000054 
000054 
000060 
000066 
000070 
000072 
000072 
000076 
000102 
000104 
000110 
000110 
000114 
000114 
000116 
000120 



005003 
005004 
150104 
000301 
150103 
020427 
101003 
020327 
101413 

012700 
016610 
010240 
000301 
010140 
010002 
012701 
000752 

016705 
132765 
001001 
005203 

012700 
020327 
103402 
012700 

012701 

112021 
001376 
105741 



OUTPUTS: 

RO=ADDRESS OF OUTPUT BUFFER (SOUTBF) 

RIsADDRESS OF BUFFER CONTAINING UNFORMATTED MESSAGE (STBUF) 

R2='PARAMETER BLOCK ADDRESS 

R3=SEVERITy CODE 

THIS ROUTINE IS CALLED BY THE ERROR MESSAGE HANDLER (SERMSG) 
TO MOVE UNFORMATTED ERROR TEXT FROM THE CO-TREE TO THE ROOT FOR 
SUBSEQUENT OUTPUT VIA LUN 2. THE MESSAGE TO BE FORMATTED ''ON- 
TAINS AN APPROPRIATE PREFIX DEPENDANT ON THE SEVERITY CODE. 



SPRCER:: 



OOOOOOG 
OOOOOOG 



O00G04G 
000012 



OOOOOOC 



10S: 



OOOOOOG 
000004 00001 ;* 



000000' 
OOOOOOG 



000017' 
OOOOOOG 



20»: 



30S: 



40$: 
50S: 



CLR 
CLR 
BIS6 

syAB 

BISB 

CMP 
BHI 
CMP 
BLOS 

MOV 

MOV 

MOV 

SWAB 

MOV 

MOV 

MOV 

BR 

MOV 
BITB 
BNE 
INC 

MOi/ 
CMP 
BLO 
MOV 

MOV 

MOVB 
BNE 

TSTB 

.IF 

CALL 
MOVB 
SWAB 
MOVB 
MOVB 



R3 

R4 

R1,R4 

R1 

R1.R3 

R4,«EtRMAX 

10S 

R3.#S»V2 

20i 

nARGBK*4,R0 

12(SP),(R0) 

R2,-(R0) 

R1 

RI.-(RO) 

R0.R2 

«<StV2*400!ESR5> 

SPRCER 



fCMIPT.RS . »,.. ^^,r,r,n^ .., 

*FD.TTy.F.RCTL(R5) ; TTY DEVICE? 



CLEAR SEVERITY 

CLEAR ERROR NUMBER 

ISOLATE ERROR NUMBER 

POSITION SEVERITY TO LOW BYTE 

COPY SEVERITY CODE 

LEGAL ERROR CODE 

IF HI NO 

LEGAL SEVERITY? 

IF LOS YES 

GET ADDRESS IN ARGUMENT BLOCK 
SAVE ADDRESS OF CALLER 
STORE ARGUMENT BLOCK ADDRESS 
REPOSITION ERROR/SEVERITY CODE 
STORE SEVERITY tODE 
SET NEW PARAMETER BLOCK ADDRESS 
R1 : GET NEW ERROR/SEVERITY 
GO AGAIN 

GET COMMAND INPUT RECORD BLOCK 



30t 

R3 

«D1AG.R0 

R3.#siv2 

40i 

f FATAL. RO 

fSTBUF.RI 

(R0)».(R1)» 

50t 

-(R1) 



DF 



SttMSG 



CVDG 

R5.(R1)« 
R5 

R5.(R1)» 
#• .(R1)» 



If 1^ y^5 
INCREMENT SEVERITY 

ASSUME DIAGNOSTIC MESSAGE 

DIAGNOSTIC? 

IF LO YES 

GET FATAL PREFIX 

SET INPUT BUFFER ADDRESS 

MOVE PREFIX 

BACKUP TO LAST BYTE 



CONVERT ERROR NUMBER TO ASCII 

MOVE TO TEXT BUFFER 

GET HIGH BYTE 

MOVE TO TEXT BUFFER 

FORMAT WITH SPACES 



•••* 



TTTT 



•*«• 



I ^..^ 



«<-KKr-VV na.CB BARE l_3 



55S: 



PRCER l«»ACRO«1108 H-OEC -77 09:58 PAGE 3-2 



06 
07 
08 
09 

10 000122 

11 000126 

12 000132 

13 000134 
U OOOUO 
15 000 V.0 
16 

17 
18 

19 0001A2 

20 OOOUA 

21 000150 

22 000150 

23 000152 
24 

25 
26 
27 
28 



0127A6 OOOOOOG 

020A27 OOOOOOG 
10U02 

012716 OOOOOOG 



006304 

016400 OOOOOOG 



112021 
001376 



60S: 



70S: 



51 
32 
33 

34 

35 000154 

36 000160 

37 000164 



012700 
012701 



OOOOOOG 
OOOOOOG 



MOVB 

• IFF 

NOV 
CMP 
BLOS 
NOV 

CALL 

.ENDC 

ASL 
MOV 

novB 

BNE 

.IF 

TSTB 
WV 

MOVB 
BNE 

.ENOC 

MOV 
MOV 
RETURN 



»' ,(R1)* 



#SLM1.-(SP) 
H4.«MSSG1 
55S 
«SLM2.(SP) 

a(SP)* 



R4 
SnSG(R4).R0 

(R0)».(R1)» 
60S 



SET TO LOAD TEXT SET 1 

MESSAGE IN GROUP 1? 

IF LOS YES 

REPLACE SUBROUTINE ADDRESS 

LOAD TEXT 



CONVERT MESSAGE NUMBER TO WORD INDEX 
GET POINTER TO UNFORMATTED STRING 



SSSMSG 



DF 

-(R1) 
#SUFF.RO 



(R0)*.(R1)* 
70S 



#SOUTBF.R0 
irSTBUF.RI 



MOVE MESSAGE PROPER 



BACKUP TEXT POINTER 
POINT TO SUFFIX STRING 

INSERT SUFFIX 



SET ADDRESS OF OUTPUT BUFFER 
SET ADDRESS OF INPUT 



,IF DF 



SSSMSG 



SUBROUTINE TO CONVERT ERROR NUMBER TO TWO-DIGIT ASCI! 



CVDG: 



SAVVR 

.IF 

MOV 
CLR 
DIV 

.IFF 

MOV 

MOV 
CALL 

.ENDC 



DF 

R4,R1 
RO 
•10. .RO 



R4.R0 
#10. .Rl 
SDIV 



V1145 



SAVE VOLATILE REGISTERS 



GET ERROR NUMBER 

CLEAR HIGH PART OF DIVIDEND 

DIVIDE BY TEN 



GET ERROR NUMBER 
SET DIVISOR 
DIVIDE BY TEN 



•*** I 75 •«•« 



I »Br»a HArnn MnoR U-fiFr-'7 09:^1 PAGF 3-3 



PRCER MACRO M1108 U-DEC -77 09:58 PAGE 3-3 



163 

16A SWAB R1 

165 BIS R1.R0 

166 BIS f"00,RO 

167 NOV R0,R5 

168 RETURN 
169 

170 .ENDC 

171 

172 000001 .END 



POSITION REMAINDER 
COMBINE yiTH DIVIDEND 
INSERT ASCII OFFSET 
SAVE RESULT 



••** M 15 ***• 



PRCER MACRO M1108 U-OEC -77 09:58 PAGE 5-4 



PRCER MACRO Ml 108 
SYMBOL TABLE 



K-OEC-77 09:58 PAGE 3-* 



B.BBFS= 

B.BFST= 

B.NXBO= 

B.VBN = 

CH.ANO- 

CR 

DIAG 

ESRMAX> 

E»R5 » 

FATAL 

FA.APO= 

FA.CRE= 

FA.DLIC= 

FA.ENB^c 

FA.EXC= 

FA.EXTs 

FA.NSPs 

FA.POSs 

FA.RD > 

FA.RUDb 

FA.SEQ> 

FA.SHR> 

FA.TMP* 

FA.WCK» 

FA.WRT* 

FD.BLKb 

FO.CCLs 

FD.COMs 

FD.CR X 

FD.01R« 

FO.FTN« 

FD.FIIs 



000010 

000015 

000012 

OOOOOA 

000001 

000015 

OOOOOOR 

****** GX 

****** GX 

00001 7R 

000100 

000010 

001000 

100000 

002000 

000004 

000100 

010000 

000001 

OOAOOO 

OAOOOO 

OOOOAO 

000020 

020000 

000002 

000010 

000002 

020000 

0000C2 

000010 

000001 

040000 



FD.1NS= 
FD.ISP= 
FD.MNT= 
F0.OSP= 
FD.PLC= 
FD.PRNs 

002 FO.PSE= 
FD.RAHx 
FD.RAN- 

002 FO.REC* 
FD.RUMr 
FD.SOI= 
FD.SQD- 
FO.TTVs 
F!).yBHr 
FF 

FF.CHRs 
FF.NV = 
FF.P0E= 
FF.RWD- 
FF.RUF« 
FF.SPC* 
FO.APO* 
F0.MFV« 
FO.RO = 
FO.UPO« 
FO.WRTs 
F.ACTL« 
F.ALOC= 
F.BBFSs 
F.BD6 X 



000010 
002000 
100000 
OOAOOO 
000004 
OOOOOA 
010000 
000001 
000002 
000001 
000001 
000020 
000040 
000004 
000002 
000014 
000005 
000003 
000002 
000001 
000006 
000004 
000106 
000002 
000001 
O00006 
000016 
000076 
000040 
000062 
000070 



. ABS. 000000 000 

000166 001 

ETXTto 000037 002 

ERRORS DETECTED: 

VIRTUAL MCMORy USED: 2239 WORDS ( 9 PAGES) 
DYNAMIC MEMORY: 15744 WORDS ( 60 PAGES) 
ELAPSED TIME: 00:00:18 

C31.20]PRCER.C31.30]PRCER/-SP=[31.10]MACFLM.FCSPR. PRCER 
f M 



F.BGBC= 000057 


F.RATT= 


000001 


N.FVER= 


000016 


F.BKDNs 000026 


F.RCNM= 


000034 


N.NEXT= 


000022 


F.BKDS= 000020 


F.RCTL= 


000017 


N.STAT= 


000020 


F.BKEFr 000050 


F.RS1Z= 


000002 


N.UNIT= 


000034 


F.BKP1= 000051 


F.RTYP= 


000000 


R$S11M= 


000000 


F.BKSTr 000024 


F.SEQN= 


000100 


R.FIX = 


000001 


F.BKVB= 000064 


F.aPDVs 


000072 


R.SEQ = 


ooooo: 


F.CHR = 000075 


F.SPUN= 


000074 


R.VAR = 


000002 


F.CNTGs 000034 


F.STBIC= 


000036 


SPA = 


000040 


F.DFNBx 000046 


F.UNIT= 


000136 


S»V2 = 


****** GX 


F.DSPT= 000044 


F .URBD== 


000020 


S.8FHD= 


000020 


F.DVNMx 000134 


F.VBN = 


000064 


S.FATTs 


000016 


F.EFBK= 000010 


F.VBSZ= 


000060 


b.FDB = 


C"140 


F.EFN = 000050 


HT 


000011 


S.FNAMc 0OU006 1 


F.EOBBs 000032 


LF 


000012 


S.FNB r 


000036 


F.ERR = 000052 


MSSG1 « 


****** GX 


S.FNBW- 


000017 


F.FACCr 000043 


NB.DEVx 


000200 


S.FNTY= 


000004 


F.FFBY= 000014 


NB.DIR> 


000100 


S.FTYPs 


000002 


F.FNAMs 000110 


NB.NAMs 


000004 


S.NFENs 


000020 


F.FNB = 000102 


NB.SDU 


000400 


VT 


000013 


F.FTYPs 000116 


NB.SD2- 


001000 


SARGBKs 


****** GX 


F.FVER« 000120 


Nd« 5Nn= 


000040 


$CMIPT= 


****** GX 


F.HIBKs 000004 


NB.ST = 


000020 


JLM1 = 


****** GX 


F.LUN = 000042 


NB.SVHn 


000010 


$LM2 = 


****** GX 


F.MBCTs 000054 


NB.TYP= 


000002 


SMSG > 


****** GX 


F.MBCIr 000055 


N6.VER< 


000001 


t0UT8F= 


****** GX 


F.MBFG* 000056 


N.DIO * 


000024 


SPRCER 


OOOOOORG 


F.NRBD* 000024 


N.DVNMs 


000032 


STBUF = 


****** GX 


F.NREC= 000030 


N.FID = 


000000 


$1 


000001 


F.OVBS= 000030 


N.FNAM= 


000006 


...6BL= 


000000 


F.RACC= 000016 


N.'TVPr 


000014 


...TPC= 


000140 



••«* N IS **** 




**** I 16 **** 



**** B 16 **** 



PRCLM MACRO MIIOB 1A-DEC-77 09:58 PAGE 3 



8 

9 
10 
11 
12 
13 
U 
15 
16 
17 
18 
19 
20 
21 
22 
23 
2A 
25 
26 
27 
28 
29 
30 
31 
32 
33 
3A 
35 
36 
3/ 
38 
39 
AO 
41 
42 
43 
44 

45 000000 
46 

47 000000 

48 000024 

49 000026 

50 000032 

51 000034 

53 000056 

54 000060 

55 000062 

56 000064 
57 



125257 003340 



.TITLE PRCLM 
. I DENT /06/ 



COPYRIGHT 1975. DIGITAL EQUIPMENT CORP.. MAYNARD, MASS. 

THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 
ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 
OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCK SYSTEM. EXCEPT 
AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 
EQUIPMENT CORPORATION. 

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY 
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 

VERSION 06 

C. MONIA/D. CUTLER 23-0CT-75 



.•♦♦-1 

;**NEW** 
;**-2 



MODIFICATIONS 


•* 






NO. 


DATE 


PR 


OGRAMMEI 


048 


09-FEB-76 




MONIA 


0^4 


27-MAR-76 




MONIA 


056 


07-APR-76 




MONIA 


058 


22-APR-76 




MONIA 


061 


16-MAY-76 




MONIA 


065 


30-JUN-76 




KASSON 



PROCESS RELOCATABLE OBJECT MODULE 

LOCAL DATA 

**« NOTE *** 

MODULE 'P5PRE' MUST BE MODIFIED WHENEVER THE CONTENTS OF 
SECTION ARE CHANGED. 



THIS 



.PSECT PRCLkD.D.OVR 

CRSCT! .BLKW 10. 

CRVSC: .BLKW 1 

LOADNM: .RAD50 /SLOAD/ 



MODN: .BLKW 
LCLSYM: .BLKW 
SRCPF : .BLKW 



SRVSG: 
SYDEFi 
SYENT: 
SYFLG: 



.BLKW 
.BLKW 
.BLKW 
.BLKW 



1 



CURRENT SECTION DATA 

VIRTUAL ADDRESS OF CURRENl SECUON 

MANUAL LOAD SUBROUTINE NAME 

FIRST HALF OF MODULE NAME (ADJ. TO LCLSYM) 
LOCAL SYMBOL DESCRIPTOR 
SEARCH PATH FLAG 

VIRTUAL ADDRESS OF SEARCH SEGMENT 
SYMBOL DEFINITION FLAG 
SYMBOL ENTRY ADDRESS 

CURRENT SYMBOL FLAGS 



**•• c 16 **•* 



•*** c 16 **•• 



PRCLM MACRO Ml 108 U-DEC-77 09:58 PAGE 3-1 



58 000000 




59 




60 




61 




62 




63 




(A 




65 




66 




67 




68 




69 




70 




71 




72 




73 




7A 




75 




76 




77 




78 




79 




80 




81 




82 




83 000000 




8A 000000 


0103A6 


85 000002 




86 000006 


103A10 


87 000010 


010003 


88 000012 




89 000016 


16270^ 000002 


90 000022 


020 000006 


91 000026 


101 


92 000030 


005CD0 


93 000032 


006300 


9A 00003A 




95 0000*0 


000760 


96 




97 




98 




99 




100 




101 000042 


000216' 


!^«i 


W^' 


10* 000050 


004262' 


105 000052 


004262' 


106 000054 


004262' 


107 000056 


000216' 


108 


C00006 


109 




110 




111 




]]\ 




1U 000060 


010346 



.PSECT 



♦♦-fPRCLM-PROCESS RELOCATABLE OBJECT MODULE 

THIS SUBROUTINE IS CALLED TO PROCESS A RELOCATABLE OBJECT MODULE. 
ALL GLOBAL SYMBOL DIRECTORY RECORDS ARE READ AND ENTERED IN THE 
SECTION AND SYMBOL TABLES FOR THE CURRENT SEGMENT. 

INPUTS: 

R4=REAL ADDRESS OF ELEMENT DESCRIPTOR 
RS^REAL ADDRESS OF CURRENT SEGMENT 
SCRELM'REAL ADDRESS OF ELEMENT DESCRIPTOR 
$CRSEG=REAL ADDRESS OF SEGMENT DESCRIPTOT 
SCRVEL^VIRTUAL ADDRESS OF ELEMENT DESCRIPTOR 
SCRVSG- VIRTUAL ADDRESS OF SEGMENT DESCRIPTOR 

OUTPUTS: 

ALL GLOBAL SYMBOL DIRECTORY RECORDS ARE PROCESSED 



SAVE R3 
GET RECORD LENGTH 
IF CS EOF (ILL FORMAT) 
SAVE RECORD LENGTH 
GET BLOCK TYPE 
ADJUST BYTE COUNT 
LEGAL BLOCK TYPE? 
IF LOS YES 

SET ILLEGAL BLOCK TYPf 
MAKE WORD INDEX 
CALL BLOCK DEPENDENT ROUTINE 
GO AGAIN 



SPRCLM: 


• 






MOV 


R3,-(SP) 


PRCFLI: 


CALL 


SGTBYT 




BCS 


PRCEL3 




MOV 


R0.R3 


PRCEL2: 


CALL 


SGTWRD 




SUB 


#2,R3 




CMP 


RO.A'LGBLK 




BLOS 


PRCEL4 


PRCEL3: 


CLR 


RO 


PRCEL4: 


ASL 


RO 




CALL 


8DSPVCT(R0) 




BR 


PRCEL1 


; DISPATCH VECTOR 


DSPVCT: 


.WORD 


ILFMT 




.WORD 


STGSD 




.WORD 


ENGSD 




.WORD 


RPEAT 




.WORD 


RPEAT 




.WORD 


RPEAT 




.WORD 


ILFMT 



LGBLK«<.-DSPVCT-^>/2 



START GSD-BLOCK TYPE 1 



STGSD: MOV R3,-<SP) 



;BLK 


O-ILLEGAL BLOCK 


TYPE 


;BLK 


1 -START GSD 




;BLK 


2-END GSD 




;BLK 


3-TXT 




:BLK 


4-RLD 




;BLK 


5-ISO 




;BLK 


6-MODULE END 





.•HIGHEST LEGAL BLOCK TYPE 



;SAVE BYTE C0UN1 



**t* D 16 •*** 



PRCLM MACRO MIIOB 1A-DEC-77 09:58 PAGE 3-2 



115 000062 


116 000066 


117 000072 


118 000076 


119 000100 


120 000102 


121 00010A 


122 000106 


123 000110 


12A 0001 U 


125 000120 


126 0001 2A 


127 000130 


128 00013A 


129 000136 


130 OOOUO 


131 000U2 


132 0001A6 


133 000150 


13A 000152 


135 


136 


137 


138 


139 


lAO 


1A1 


1A2 


U3 


UA 


1A5 000000 


1A6 


1A7 


1A8 000000 


1A9 000002 


150 OOOOOA 


151 000006 


152 000010 


153 000012 


15A 00001A 


155 000016 


156 


157 


158 0001 5A 


159 


160 


161 


162 


163 


16A 


165 0001 5A 

166 000160 


167 00( 


162 


168 00( 


166 


169 OOC 


172 


170 oo: 


176 


171 000 


202 



012703 
0127A6 

010023 
005316 
003373 
005726 
012603 
162703 
012701 
116102 
105061 
020227 
101030 
006302 
010500 

005703 
0033A3 



000036' 
OOOOOA 



10$: 



000010 
00003A' 
000001 G 
000001 G 
000007 



MOV #LCLSyM*2.R3 

MOV #A.-(SP) 

CALL SGTWRD 

MOV R0.(R3)* 

DEC (SP) 

BGT 10$ 

TST (SP)t 

MOV (SP)t,R3 

SUB IV8..R3 

MOV #LCLSYM,R1 

MOVB S$YFLG^1(R1).R2 

CLRB S$VFLG*1<R1) 

CMP R2,#LGTYP 

BHI ILFMT 

ASL R2 

MpV R5,R0 

CALL i6SDVCT(R2) 

TST R3 

BGT STGSD 

RETURN 



GET ADDRESS TO STORE SYMBOL 

SET LOOP COUNT 

GET A WORD 

SAVE IN TEMP BUFFER 

DECREMENT LOOP COUNT 

IF GT 60 AGAIN 

REMOVE COUNT WORD FROM STACK 

RETRIEVE BYTE COUNT 

ADJUST FOR SYMBOL ENTRY 

GET ADDR OF SYMBOL DESCRIPTOR 
GET TYPE OF 6SD ENTRY 
CLEAR HIGH FLAGS WORD BYTE 

LEGAL TYPE? 

IF HI ILLEGAL FORMAT 

MAKE WORD INDEX 

ADDRESS OF CURRENT SEGMENT TO RO 

DISPATCH TO ROUTINE 

ANY MORE TO PROCESS? 

IF GT YES 



GSD ENTRY TYPE DISPATCH TABLE 

♦** NOTE **• 

MODULE 'P3PRE' MUST BE MODIFIED WHENEVER THE CONTENTS OF THIS 
SECTION CHANGE. 

.PSECT GSDV$D,D,OVR 



0001 5A' 
000236' 
001326' 
001330' 
001 5A0' 
000302' 
003550' 
00362A' 
000007 



GSDVCT: .WORD 


MODNME 


MODUi.E NAME 


.WORD 


SCTNME 


SECTION NAME 


.WORD 


INTSVM 


INTERNAL SYMBOL 


.WORD 


XFRADR 


TRANSFER ADDRESS 


.WORD 


SYMDCL 


SYMBOL DECLARATION 


.WORD 


PSTNME 


PROGRAM SECTION NAME 


.WORD 


VIDENT 


VERSION IDENTIFICATION 


.WORD 


VSTNME 


VIRTUAL ARRAY STORAGE SECTION NAME 


LGTYP=<.-GSDVCT-2>/2 


HIGHEST LEGAL GSD TYPE 



.PSFCT 







; MODULE NAME 


&016 


OOOOOOG 


MODNME: TST 
BNE 


i 12700 


OOOOAO' 


MOV 


1 12701 


000032' 


MOV 


1 1106A 


000002G 


MOV 


I 12oJl 


OOOOOOG 


MOV 
MOV 



E$LMOD(RA) .-MODULE NAME ALREADY DEFINED? 

ILFMT .-IF NE YES 

*LCLSYM*A,RO ; GET ADDRESS OF SECOND HALF OF SYMBOL 

*M0DN,R1 ; GET ADDRESS TO STORE MODULE NAME 

(R0),E$LMOD*2(RA);SET SECOND HALF OF MODULE NAME 

-(R0).E$LMOD(RA);SET FIRST HALF OF MODULE NAME 

(R0)*.(R!)» .-set MODULE NAME IN LOCAL SYM DESCRIPTOR 



•*•* E 16 **** 



PRCLM MACRO Ml 108 U-DEC-77 09:58 PAGE 3-3 



172 00020A 

173 000206 
17A 000212 
175 

176 
177 

IS 

180 000216 

181 000222 

182 000226 

183 000230 

184 000232 
185 

186 
187 
188 
189 

190 000236 

191 000242 

192 000250 

193 000256 

194 000260 

195 000266 

196 000272 

197 000274 

198 000302 

199 000302 

200 00C304 

201 000310 

202 000314 

203 000320 

204 000322 

205 000326 

206 000330 

207 000334 

208 000340 

209 000342 

210 00034'. 

211 000346 

212 000352 

213 000354 
21'. 000354 
21 :> 000362 

216 000364 

217 000372 

218 000374 

219 000402 

220 000404 

221 000406 

222 000406 

223 000412 

224 000416 

225 000422 

226 000424 

227 000432 

228 000434 



011011 

016701 OOOOOOG 



MOV (RO).(RI) 
MOV SCRVEL.RI 
CALLR SURMPG 



GET VIRTUAL ADDRESS CF CURRENT ELEMENT 
WRITE -MARK PAGE 



ILLEGAL FORMAT-BLOCK TYPES AND 6 



016702 OOOOOOG 
016202 OOOOOOG 
012701 

OOOG OOOG 



ILFMT: MOV $INPPT,R2 

MOV R$NAME(R2},R2 

MOV (PC)*,R1 

.BYTE ESR14,SSV2 

CALL SERMSG 



;GET INPUT FILE RECORD BLOCK 
:GET ADDRESS OF NAME STRING 
;GET ERROR/SEVERITY 
; FATAL-NO RETURN 
.•OUTPUT ERROR MESSAGE 



SECTION AND PROGRAM SECTION NAME 



012702 OOOOOOG 

116261 OOOOOOG OOOOOOG 

026261 OOOOOOG OOOOOOG 

001411 

152761 OOOOOOG OOOOOOG 

005761 OOOOOOG 

001003 

142761 OOOOOOC OOOOOOG 



SCTNME: 



010102 
062702 
142712 
132712 
001415 
132712 
001012 
012702 
032712 
001405 
005212 
001003 
012701 
000415 



PSTNME' 



OOOOOOG 
OOOOOOC 
OOOOOOG 

OOOOOOG 

000044' 
000001 



OOOOOOC 



132761 OOOOOOG 

001420 

132764 OOOOOOG 

001014 

142761 OOOOOOG 

012701 

OOOG OOOG 

012702 000036' 



OOOOOOG 
0000006 
OOOOOOG 



1$: 



2$: 



012701 
010500 
132761 
001513 
012746 



000034' 



OOOOOOG OOOOOOG 3S: 
OOOOOOG 



MOV 

MOVB 

CMP 

BEQ 

BISB 

TST 

BNE 

BICB 

MOV 

ADD 

BICB 

BITB 

BEQ 

BITB 

BNE 

MOV 

BIT 

BEQ 

INC 

BNE 

MOV 

BR 

BITB 

BEQ 

BITB 

BNE 

BICB 

MOV 

.BYTE 

MOV 

CALL 

MOV 

MOV 

BITB 

BEQ 

MOV 



#$ABSCT,R2 .-GET ADDRESS OF ABS SECTION ENTRY 
CSSFLG(R2),CSSFLG(R1}; ASSUME ABS SECTIOM 
S$YM(R2).S$YM(R1);ABS SECTION? 



PSTNME 

/VCSSREL.CSSFLG(R1 

SSVM(RI) 

PSTNME 

ir<CSSGBLICSSALO> 

R1.R2 

#CSSFLG,R2 

.?<CS$IND!CS$MEM> 

#CS$REL,(R2) 

1$ 

*CS$TYP.(R2) 

1$ 

#LCLSVM*10,R2 

#1,(R2) 

IS 

(R2) 

1$ 

#<S$V0*400!E*R19> 

2% 

ICSSLIB.CSSFLGCRi) ; LIBRARY SECTION? 
3$ :IF EQ NO 

*SW$RL.E$LSWT(R4);LIB SECTION LEGAL? 
3$ :IF NE YES 

#CS$LIB,CSSFLG{R1) ; CLEAR LIBRARY FLAG 



IF EQ YES 

); ASSUME NAMED REL SECTION 

NAMED SECTION? 

IF NE YES 

C»SFLG(R1) ; CLEAR GLOBAL, OVERLAYED FLAGS 

COPY DESCRIPTOR ADDRESS 

POINT TO FLAGS 
(R2) ; CLEAR MEMORY. INDIRECT FLAGS 

SECTION RELOCATABLE 

IF EQ NO 

DATA SECTION? 

IF NE YES 

POINT TO SECTION LENGTH 

LENGTH ON BYTE BOUNDARY? 

IF EQ NO 

INCREMENT LENGTH 

IF NE OK 
.R1 ; P-SECTION OVERFLOW 



(PO + .rI 
ESR60.SSV0 



ILLEGAL REFERENCE TO LIBRARY SECTION 
DIAGNOSTIC 



#LCLSYM*2,R2 ; POINT TO SYMBOL NAME 

SERMSG .-OUTPUT ERROR MESSAGE 

#LCLSYM,R1 .'RETRIEVE ADDRESS OF LOCAL STORAGE 

R5,R0 jRESET SEGMENT DESCRIPTOR ADDRESS 

*CSSGaL.CSSFLG(Rl);LOCAL SECTION? 

SOS ;1F EQ YES 

#$WSRCC.-(SP) .-SET ADDRESS OF SEARCH ROUTINE 



ft*** f 16 **«* 



PRCLM MACRO Ml 108 1A-0EC-77 09:58 PAGE 3-A 



229 OOOAAO 

230 000AA2 

231 OOOAAA 

232 0OOAA6 

233 000A52 
23A 000A56 
235 00OA6A 



103516 
001 OOA 
016701 
000167 
132760 
001765 



5S: 



OOOOOOG 

00037A 

OOOOOOG OOOOOOG 7$: 



CALL 

BCS 

BNE 

MOV 

JMP 

BITB 

BEQ 



8(SP)* 

60$ 

7% 

SCRVSM.RI 

SCTCHK 



SEARCH FOR SECTION 
IF CS NO FIND EM 
IF NE FOUND ON PATH UP OR T' 
GET VIRTUAL ADDRESS OF SECi 
FOUND IN CURRENT SEGMENT 



•JN 
ION 



#CS$G8L.C$SFLG(R0); GLOBAL SECTION? 
5$ ;IF EQ NO 



239 
2A0 

2A1 000A66 
2A2 0OOA72 
2A3 000A76 
2AA 000500 
2A5 000502 
2A6 000510 
2A7 000512 
2A8 000516 
2A9 000520 
250 000522 



103A11 
132760 
001772 

103367 
005726 
000A50 



005067 000060* 



OOOOOOG OOOOOOG 



FOUND ON PATH UP OR DOWN 



CLR SYDEF ;CLEAR DEFINITION FOUND FLAG 

CALL 30$ ;SET UP SEARCH PARAMETERS 

10$: CALL a(SP)+ ; CONTINUE SEARCH 

BCS 20$ ;IF CS DONE 

BITB #CS$GBL,C$SFLG(RO):GLOBAL SECTION? 

BEQ 10$ ;IF EQ NO 

CALL 30$ .-COMPARE PARAMETERS 

BCC 10$ ;IF CC CONTINUE SEARCH 

TST (SP)+ .-CLEAN STACK 

BR A0$ ; AMBIGUOUS DEFINITION 



Ja 

>56 00052A 

257 000530 

258 000532 

259 000536 

260 0005A2 

261 000550 

262 000556 

263 00056A 
26A 000570 
265 



n 



269 000572 

270 000572 

271 000576 

272 00060A 

273 000606 
27A 000612 

275 00061 A 

276 00061 A 

277 000620 

278 000626 

279 000626 

280 000632 

281 00063A 

282 000636 

283 000636 
" 0006A2 



^ 



005767 
001 AA5 
012701 

016760 
016760 
152760 
012702 
000A63 



016fo, 
13276( 
OOU03 
016001 
000A05 

010167 
016767 

020167 
001 A01 
000261 



000060' 

000002G 

000060* OOOOOOG 
000056* OOOOOOG 
OOOOOOC OOOOOOG 
00003A* 



ALL PATHS SEARCHED-ALLOCATE INDIRECT CONTROL SECTION ENTRY 

20$: TST SYDEF .-DEFINITION FOUND? 

BEQ A0$ ;IF EQ NO 

MOV #C$SEli'«l<-2,R1 ; GET SIZE OF INDIRECT ENTRY 

CALL $ALSVB ; ALLOCATE SMALL VIRTUAL CORE BLOCK 

MOV 2yDfF.C$<RSE(R0).-SET INDIRECT ENTRY ADDRESS 

MOV SRVSG,C$SL H(R0) ; SET VIRTUAL ADDRESS OF SEGMENT 

BISB /»<CS$INDICS$GBL>,C$SFLG(RO) ; SET INDIRECT GLOBAL 

MOV #LCISYM,R2 ; GET LOCAL DESCRIPTOR ADDRESS 

BR 70$ ; 

COMPARE PARAMETERS 



DECRIPTOR 
FLAGS 



30$: 



OOOOOOG OOOOOOG 
000000' 



000060* 
OOOOOOG 000056* 

000062* 



010167 000Co2* 



32$: 



3A$: 



36$: 



MOV 

BITB 

BEQ 

MOV 

BR 

MOV 
MOV 

CMP 
BEQ 
SEC 

MOV 
RETURN 



$CRVSM,R1 : GET VIRTUAL ADDRESS OF SYMBOL 
#CS$IND.C$SFLG(RO) ; INDIRECT REFERENCE? 



32$ 

C$SBSE(R0),R1 
3A$ 

R1. SYDEF 
$CRVSR.SRVSG 

R1.SYENT 
36i 



R1.SYENT 



IF EQ NO 

GET VA OF REAL ENTRY 



SET DEFINITION FOUND FLAG 

SAVE VIRTUAL ADDRESS OF SEARCH SEGMENT 

SAME AS LAST REFERENCE? 
IF EQ YES 
SET CARRY 

SET ADDRESS OF LAST ENTRY 



*•** 6 16 **** 



PRCLM MACRO Ml 108 1A-DEC-77 09:58 PAGE 3-5 



AMBIGUOUS CONTROL SECTION DEFINITION 



0006AA 

0006AA 012702 000032" 

000650 012701 

000652 OOOG OGOr 

00065A 

000660 000A07 



AOS: 



MOV 

MOV 

.BYTE 

CALL 

BR 



«M0DN.R2 

(PC)*.R1 

ESRIS.SSVO 

SERMSG 

60$ 



GET ADDRESS OF MODULE 
GET ERROR/SEVERITY 
DIAGNOSTIC 
OUTPUT ERROR MESSAGE 



NAME 



LOCAL CONTROL SECTION 



301 000662 

302 000666 

303 000672 
30A 000674 

305 000676 

306 000700 

307 00070A 

308 000710 

309 0007U 

310 000722 

311 000730 

312 000732 

313 0007A0 
3U 0007A0 

315 0007A6 

316 00075A 

317 000762 

318 00076A 

319 000770 

320 00077A 

321 001000 

322 001004 

323 001012 

324 001014 

325 001020 

326 001024 

327 001030 

328 001034 

329 001040 

330 001044 

331 001044 

332 001046 
333 



338 001052 

J 39 001060 
t>0 001062 

341 001066 

342 001072 



062700 OOOOOOG 



50$: 



010146 
103066 
005726 
012701 

012702 
016260 
132760 
001403 
016760 

016760 
016260 
016260 
010146 
016700 
062700 



032767 
001414 
012701 

011660 
016701 
010071 
010061 

011601 



132760 
001404 
016001 



70$: 



OOOOOOG 60$: 

000034' 

OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 

000044' OOOOOOG 

OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 
000002G 000002G 

OOOOOOG 
OOOOOOC 



OOOOOOG OOOOOOG 

OOOOOOG 

000002 
OOOOOOG 
000002G 
000002G 



80$: 



ADD 

CALL 

MOV 

BCC 

TST 

MOV 

CALL 

MOV 

MOV 

BITB 

BEQ 

MOV 

MOV 

MOV 

MOV 

MOV 

MOV 

ADD 

CALL 

CALL 

BIT 

BEQ 

MOV 

CALL 

MOV 

MOV 

MOV 

MOV 

MOV 
CALL 



/»S$GCST.RO .-POINT TO CONTROL SECTION TABLE HEADER 

$SRCH ;ScARCH FOR SECTION ENTRY 

R1,-(SP} ; ASSUME FOUND 

SCTCHK ;IF CC YES 

(SP)+ ; CLEAN STACK 

#C$SLGH,R1 ;GET LENGTH OF SECTION TABLE ENTRY 

$ALSVB ; ALLOCATE SMALL VIRTUAL CORE BLOCK 

#LCLSVM.R2 ; GET ADDRESS OF LOCAL DESCRIPTOR 

C$SFLG(R2),C$SFLG(R0) ; COPY FLAGS WORD 

#CS$LIB.C$SFLG(RO);LIB SECTION? 

70$ ;IF EO NO 

LCLSYM*10,C$SLTH(R0) ; ESTABLISH LENGTH OF SECTION 

$CRVEL,C$SELM(RO) ; SET ELEMENT DESCRIPTOR BACKPOINTER 
S$YM(R2) ,S$YM(RO) ; INSERT SYMBOL IN ENTRY 
S$VM+2(R2).S$YM+2(R0) 



RI.-(SP) 

$CRVSG,RO 

/»S$6CST/2,R0 

$SRCHI 

$ISYM 

»SE$QA,$SWTCH 

80$ 

#S$ZSEQ.R1 

$ALBIK 

(SP),2(R0) 

$CRSEG,R1 

R0.aS$GSEQt2(R1) 

R0.S$GSEQt2(R1) 

(SP) .R1 
$CVRL 



SAVE ENTRY ADDRESS 

GET VIRTUAL ADDRESS OF CURRENT 

POINT TO SECTION TABLE HEADER 

SEARCH FOR INSERT 

INSERT SYMBOL 

SEQUENCE ALLOCATION? 

IF EO NO 

GET SIZE OF SEQUENCE LIST ENTRY 

ALLOCATE STORAGE 

SET ADDRESS OF SECTION TABLE ENTRY 

GET ADDRESS OF CURRENT SEGMENT 

LINK NEW ENTRY TO OLD LAST 

SET NEW LAST ENTRY 

RETRIEVE ENTRY ADDRESS 
CONVERT TO PEAL ADDRESS 



; 

OOOOOOG OOOOOOG SC1CHK: 
OOOOOOG 

10$: 



CHECK FOR EQUIVALENT CONTROL SECTION DEFINITIONS 



BITB 
BEQ 

MOV 
CALL 



/rCS$lND,C$SFLG(RO); INDIRECT REFERENCE^ 



10$ 

C$SB5E(R0),R1 

$CVRL 



IF EQ NO 
GET ADDRESS OF REAL ENTRY 
CONVERT TO REAL ADDRESS 



t 



**•• H 16 **** 



PRCLM MACRO Ml 108 14 


-DEC-77 09:58 


PAGE 3-6 










343 001072 


010116 






MOV 


R1,(SP) 


; SAVE VIRTUAL ADDRESS OF ENTRY 




344 001074 


010046 






MOV 


RO.-(SP) 


; SAVE REAL ADDRESS OF ENTRY 




345 001076 


012701 


000000' 




MOV 


#CRSCT,R1 


; POINT TO LOCAL STORAGE 




346 001102 


012702 


OOOOOOC 




MOV 


#C$SLGH/2.R2 


; GET LENGTH OF SECTION ENTRY 




347 001106 






15$: 










348 001106 


012021 






MOv 


(R0)+,(R1)* 


; COPY SECTION ENTRY 




349 001110 








SOB 


R2JS$ 


; REPEAT 




350 001114 


012600 






MOV 


(SP)+.RO 


; RESTORE RO 




3^1 001116 


012702 


000034' 




MOV 


*LCLSyM,R2 


;GET ADDR OF LOCAL DESCRIPTOR 




352 001122 


016001 


OOOOOOG 




MOV 


C$SFLG(R0),R1 


;GET TABLE ENTRY FLAGS 




353 001126 


016200 


OOOOOOG 




MOV 


C$SFLG(R2).R0 


.-GET LOCAL ENTRY FLAGS 




354 001132 


032701 


OOOOOOG 




BIT 


#CS$LIB.R1 


.•TABLE ENTRY LIB SECTION? 




355 001136 


001404 






6EQ 


20$ 


:IF EQ NO 




356 001140 


042701 


OOOOOOG 




BIC 


#CS$LIB.R1 


.■CLEAR LIBRARY FLAG 




357 001144 


042700 


OOOOOOG 




BIC 


#CS$LIB.RO 


; CLEAR LIBRARY FLAG 




358 001150 






20»: 










359 001150 


042700 


OOOOOOG 




BIC 


#CS$ATL,RO 


: CLEAR POSSIBLE AUTOLOAD FLAG. 




360 001154 


042701 


OOOOOOG 




BIC 


#CS$ATL,R1 


; CLEAH POSSIBLE AUTOLOAD FLAG 




361 001160 


020001 






CMP 


R0.R1 


; EQUIVALENT? 




362 001162 


001405 






BEQ 


SCTCMT 


;IF EQ YES 




363 001164 


012701 






MOV 


(PC)*,R1 


;GET ERROR/SEVERITY 




364 001166 


OOOG 


OOOG 




.BYTE 


E$R16,S$V0 


.-DIAGNOSTIC 




365 001170 


005742 






TST 


-(R2) 


; POINT TO FIRST HALF OF MODULE NAME 




366 001172 
367 








CALL 


$ERMSG 


.-OUTPUT ERROR MESSAGE 




368 
369 

370 






; BUILC 


CONTROL 


SECTION MAPPING 


TABLE ENTRY 




371 

372 001176 


010346 




SCTCMT: 


MOV 


R3,-(SP) 


.-SAVE R3 




373 001200 

V4 J /\4\A <««^ J 


016701 


OOOOOOG 




MOV 


$CRVEL,R1 


; GET VIRTUAL ADDRESS OF CURRENT 




374 001204 


001402 






BEQ 


5$ 


; IF EQ DUMMY ELEMENT 




375 001206 

376 001212 






5$: 


CALL 


$WRMPG 


; WRITE MARK ELEMENT DESCRIPTOR 




377 001212 


00526.'. 


OOOOOOG 


INC 


E$LNUM(R4> 


; INCREMENT SECTION NUMBER 




378 001216 

379 001222 


016401 
010103 


OOOOOOG 




MOV 
MOV 


E$LNUM<R4).R1 
R1,R3 


.-GET HIGHEST SECTION NUMBER 
;SAVE FOR LATER 




380 001224 

381 001226 

382 001230 


005201 
006301 
006301 






INC 
ASL 
ASL 


R1 
R1 
R1 


.-INCREMENT TO NEXT SECTION NUMBER 
.'CONVERT TO BYTES 




383 001232 

384 001236 

385 001240 

386 001244 

387 001246 

388 001250 

389 001252 

390 001254 

391 001260 

392 001262 

393 001266 

394 001270 
S95 001272 

IS 

399 001310 








CALL 


$alblk 


•ALLOCATE STORAGE 




010046 
016401 
001417 
006303 
010302 
012120 

010046 
012700 
010301 
006301 
016402 


OOOOOOG 

OOOOOOG 
OOOOOOG 


10$: 


MOV 
MOV 
BEQ 
ASL 
MOV 
MOV 
SOB 
MOV 
MOV 
MOV 
ASL 
MOV 


RO,-(SP) 

E$LCMT(R4),R1 

20$ 

R3 

R3,R2 

(Rl)*.{R0)t 

R2J0i 

RO,-(SP) 

*$FRHO,RO 

R3.R1 

R1 

E$LCMT(R4).R2 


.-SAVE NEW TABLE ADDRESS 

.•GET ADDRESS OF CURRENT TABLE 

;IF EQ NONE 

.•CONVERT SECTION NUMBER TO WORD COUNT 

.-SET LOOP COUNT 

;MOVE CHT TO NEW LOCATION 

.-REPEAT 

.•SAVE ADDR OF NEXT IN TABLE 

.•GET ADDRESS OF FRRE SPACE HEADER 

.•SET SIZE OF BLOCK TO RELEASE 

; CONVERT WORD COUNT TO BYTE COUNT 

;GET ADDRESS OF BLOCK TO RELEASE 




012600 
012664 
012603 


OOOOOOG 


20$: 


CALL 
MOV 
MOV 
MOV 


$RLrB 
(SP)».RO 
(SP)».£$LCMT(R4 
(SP)*,R3 


.•RELEASE OLD "ABLE 
;RETRIEVE NEXT IN TABLE 
);SET ADDRESS OF NEW CMT TABLE 
; RESTORE R3 





**** I 16 •**• 



PRCLM MACRO M1108 U-OEC-77 09:58 PAGE 3-7 



AOO 001312 

401 001 3U 

A02 001320 

A03 001 32A 

40A 

A05 

A06 

407 

408 

409 001326 

410 

411 

412 

413 

414 

415 001330 

416 001330 

417 001336 

418 001340 

419 001346 

420 001350 

421 001354 

422 001362 

423 001364 

424 001370 

425 001374 

426 001376 

427 001400 

428 001404 

429 001410 

430 001412 

431 001414 

432 001416 

433 001424 

434 001426 

435 001432 

436 001440 

437 001442 

438 001446 

439 001450 

440 001454 

441 001456 

442 001460 

443 001462 
444 

445 
446 
447 
448 

449 001464 

450 001464 

451 001470 

452 001476 
45! 001504 

454 001506 

455 001510 
456 



012610 

012067 000024' 

016710 000044* 



MOV (SP)+.(RO) 

MOV (R0)+,CRVSC 

MOV LCLSYM*10.(R0) 
RETURN 



SET LINK TO TABLE ENTRY 
SET VIRTUAL ADDRESS OF CURRENT SEGMENT 
SET MAX LENtTH OF SECTION 



022767 
001477 
026767 
001061 
012702 
032764 
001402 
012702 
022712 
001033 
010246 
062700 

011602 
010116 
103436 
132760 
001032 
016701 
132760 
001403 
066001 
103421 
032701 
001016 
010122 
012612 
000425 



INTERNAL SYMBOL 



INTSYM: RETURN 



TRANSFER ADDRESS 



.-IGNOR-UNSUPPORTED FEATURE 



000001 000044' 

OOOOOOG OOOOOOG 

OOOOOOG 
OOOOOOG OOOOOOG 



XFRADR: 



OOOOOOG 
000001 



OOOOOOG 



10$: 



OOOOOOG OOOOOOG 

000044' 
OOOOOOG OOOOOOG 

OOOOOOG 

000001 



20$: 



CMP 

BEQ 

CMP 

BNE 

MOV 

BIT 

BEQ 

MOV 

CMP 

BNE 

MOV 

ADD 

CALL 

MOV 

MOV 

BCS 

BITB 

BNE 

MOV 

BITB 

BEQ 

ADD 

BCS 

BIT 

BNE 

MOV 

MOV 

BR 



*1.LCLSYM+10 

60$ 

$CRVSG.$RTSEG 

40$ 

#$XFRAD,R2 



DUMMY TRANSFER ADDRESS 
IF EQ YES 

CURRENT =ROOT? 
IF NE NO 
ASSUME TASK XFR ADDRESS 



#SW$DA.E$LSWT(R4): DEBUGGING AID? 

10$ ;IF EQ NO 

#$0DTAD.R2 .SET ODT XFR ADDRESS 

#1,(R2) ;XFR ADDRESS ALREADY DEFINED? 

30$ ;IF NE YES 

R2,-(SP) .-SAVE VECTOR ADDRESS 

#S$GCST,RO ,; POINT TO SECTION TABLE HEADER 

$SRCH .-SEARCH SECTION TABLE 

(SP),R2 ; RETRIEVE VECTOR ADDRESS 

R1,(SP) ; SAVE VIRTUAL ADDRESS OF EN1RY 

mO% ;IF CS no find EM 

iyCS$IND.C$SFLG(RO); INDIRECT REFERENCE? 

40$ ;IF NE YES 

LCLSYM*10,R1 ; GET OFFSET ADDRESS 

#CS$REL,C$SFLG(RO);ABS SECTION? 



20$ 

C$SCUR(R0).R1 

40$ 

#1.R1 

40$ 

R1,(R2)* 

(SP)*.(R2) 

60$ 



IF EQ YES 
ADD IN CURRENT BASE 
IF CS ADDRESS OVERFLOW 
ODD ADDRFSS? 
IF NE YES 

SET TRANSFER ADDRESS 
SET SECTION TABLE ENTRY ADDRESS 



MULTIPLE DEFINITION OF TRANSFER ADDRESS 



012702 
016562 
016562 
012701 

OOOG 
000410 



000032' 

OOOOOOG 000004 
000002G 000006 

OOOG 



30$: 



MOV 

MOV 

MOV 

MOV 

.BYTE 

BR 



#M0DN,R2 

S$GNME(R5).4(R2).. 

S$GNME^2(RS).6(R2) 



POINT TO MODULE NAME 
INSERT SEGMENT NAME 



(POt.Rl 
E$R17,S$V0 



oh ERROR/SEVERITY 
DIAGNOSTIC 



**** J 16 **** 



PRCLM MACRO MHOB U-DEC-77 09:58 PAGE 3-8 



A57 
458 
459 
460 

461 001512 

462 001512 

463 001514 

464 001520 

465 001526 

466 001530 

467 001532 

468 001536 
469 

470 
471 
472 
473 

474 001540 

475 001542 

476 001544 

477 001550 

478 001556 

479 001564 

480 001566 

481 001572 

482 001574 

483 001600 

484 001606 

485 001614 

486 001614 

487 001622 

488 001630 

489 001632 

490 001640 

491 001642 

492 001650 

493 001650 

494 001654 

495 001662 

496 001664 

497 001672 

498 001674 

499 001702 

500 001702 

501 001710 

502 001712 

503 001720 

504 001722 

505 001730 

506 001732 

507 001736 

508 001740 

509 001746 

510 001746 

511 001754 



ILLEGAL TRANSFER ADDRESS 



005726 

012702 000032' 

016262 000012 000010 

012701 

OOOG OOOG 



40S: 



50$: 
60$: 



TST 

MOV 

MOV 

MOV 

.BYTE 

CALL 

RETI'RN 



(SP)t 

«M0DN,R2 

10.(R2).8.(R2) 

(PC)t.Rl 

ESRia.SSVO 

SERMSG 



CLEAN STACK 

POINT TO MODULE NAME 
MOVE OFFSET ADDRESS 
GET ERROR/SEVERITY 
DIAGNOSTIC 
OUTPUT ERROR MESSAGE 



010346 
010103 
116302 
142763 
032764 
001416 
132702 
001410 
016402 
066263 
142763 

152763 
132763 
001446 
032764 
001403 
152763 

012700 
132760 
001431 
132760 
001003 
066063 

132760 
001016 
132760 
001007 
032764 
001003 
105765 
001403 
152763 

026727 
103017 
132763 
001013 



SYMBOL l:claration 



SYMDCL: 



OOOOOOG 
OOOOOOG 
OOOOOOG 

OOOOOOG 

OOOOOOG 
OOOOOOG 
OOOOOOG 

OOOOOOG 
OOOOOOG 

OOOOOOG 

OOOOOOG 

000000' 
OOOOOOG 

OOOOOOG 

OOOOOOG 

OOOOOOG 

OOOOOOG 

OOOOOOG 

000001 G 

OOOOOOG 

OOOOOOG 

OOOOOOG 



OOOOOOG 
OOOOOOG 



OOOOOOG 
OOOOOOG 

3S: 

OOOOOOG 
OOOOOOG SS: 

OOOOOOG 

000001 G 



6$: 



10S: 



OOOOOOG 
Of )00G 
OOOOOOG 
OOOOOOG 
OOOOOOG 
OOOOOOG 



OOOOOOG 20$: 
30$: 
OOOOOOG 

OOOOOOG 



MOV 

MOV 

MOVB 

BICB 

BIT 

BEQ 

BITB 

BEQ 

MOV 

ADD 

BICB 

BISB 

BITB 

BEQ 

BIT 

BEQ 

BISB 

MOV 

BITB 

BEQ 

BITB 

BNE 

ADD 

BITB 

BNE 

BITB 

BNE 

BIT 

BNE 

TSTB 

BEQ 

BISB 

CMP 
BHIS 
BITB 
BNE 



P3 -(SP) 'SAVE R3 

R1!r3 -copy local DESCRIPTOR ADDRESS 

S$YFLG(R3).R2 , COPY FLAGS 

fSY$LIB.S$YFLG(R!l); CLEAR LIBRARY DEFINITION FLAG 
*SW$RL,E$LSWT(R4);RESIDENT LIBRARY ELEMENT? 



5$ 

#SY$LIB,R2 
3$ 

E$LLGH(R4).R2 



IF EQ NO 

LIBRARY RELOCATION PERFORMED? 

IF EQ NO 

GET LIBRARY LIST ADDRESS 
L$DSA(R2),S$YVAL(R3) ; RELOCATE SYMBOL 
*SY$REL.SiYFLG(R3) ; MAKE SYMCPL ABSOLUTE 

«SY$LIB,S$YFLG(R^);SET LIGlRARY DEFINITION FLAG 

#SY$DEF,S$YFLG(R3); SYMBOL DEFINITION? 

30$ ;IF EQ NO 

irSU$MA,E$LSWT(R4) ; ELEMENT INCLUDED IN MAP? 

6$ ; IF EQ <ES 

#SY$EXC.S$YFLG*1(R3) ; SET EXCLUSION FLAG 

#CnSCT,RO • GET POINTER TO CURRENT SECTION DATA 

«CS$REL,C$SFLG(RO) ; ABS SECTION? 

30$ ; IF EQ YES 

#CS$AL0,C$SFLG(R0) ; OVERLAID? 

10$ ; IF NE YES 

C$SCUR(R0),S$YVAL(R3) ; ADD RELOCATION BIAS 

#CS$TYP,C$SFLG(r6) ; "I" SECTION? 
30$ : IF NE NO 

#CS$ATL,C$SFLG(R0) ; SECTION AUTOLOAD? 
20$ :IF NE YES 

iVSW$AL.E$LSyT(R4);ELEMENT AUTOLOAD? 
20$ ;IF NE YES 

S$GSTS*1(R5) .-SEGMENT AUTOLOAD? 

30$ :IF EQ NO 

#SY$ATL,ri$YFLGfR3);SET AUTOLOAD FLAG 

$SZSEG.#S$ZSEG ; RESIDENT SEGMENT DESCRIPTOR MAX LENGTH? 
40$ ; IF HIS YES. NO FURTHER TESTS NEEDED 

#SY$DEF,S$YFLG(R5) : SYMBOL REFERENCE? 
40$ ; IF NE NO 



**** K 16 **** 



MA^V V_A 



PRCLM MACRO Mil 08 14 


-DEC -77 09:58 PAGE 3-9 








514 001766 


026367 


OOOOOOG 000026* 


CMP 


S$rM(R3) .LOADNM ; MANUAL LOAD CALL 


515 001774 


001007 




BNE 


40$ 


: IF NE NO 


516 001776 


026367 


000002G 000030' 


CMP 


S$YM+2(R3).LOADNMt2 ; CHECK SECOND HALF OF NAME 1 


517 002004 


001003 




BNE 


40S 


; NOT MANUAL LOAD REFERENCE 


518 002006 

519 002014 


062767 


000004 OOOOOOG 

40S: 


ADD 


«4.$S2SEG 


; INCREASE RESIDENT SEGMENT DESCRIPTOR SIZE 


520 002014 


012767 


177777 000060' 


MOV 


#-1.SYDEF 


; SET PASS COUNT FLAG 


521 002022 


012746 


OOOOOOG 


MOV 


*$WSRCS.-(SP) 


.-SET ADDRESS OF SEARCH ROUTINE 


522 002026 




SYMSRC 


CALL 


a{SP)t 


.-SEARCH FOR SYMBOL 


523 002030 


103002 




BCC 


1» 


:IF CC FOUND ENTRY 


524 002032 


000167 


001224 


JMP 


SYMINS 




525 0&2036 


132763 


OOOOOOG OOOOOOG 1$: 


BITS 


»SY$DEF.SSYFLG(R3); CURRENT SYMBOL DEFINITION? 1 


526 002044 
527 


001177 




BNE 


SYMOEF 


.-IF NE YES 


528 
529 

530 




; CURRENT IS 


SYMBOL REFERENCE 




531 

532 002046 


012602 




MOV 


(SP)*.R2 


.-CLEAN STACK BUT SAVE ADDRESS 


533 002050 


005701 




TST 


R1 


; FIND IN CURRENT SEGMENT? 


534 002052 


001031 




BNE 


5S 


; IF NE NO 


535 002054 


012702 


0000006 


MOV 


#SYSWK,R2 


; COPY FLAG 


534 002060 


062700 


OOOOOOG 


ADD 


#S$YFLG.RO 


; POINT TO FLAGS BYTE 


537 002064 


062703 


OOOOOOG 


ADD 


fSSYFLG.RS 




538 002070 


130213 




BITB 


R2.(R3) 


; HAVE WEAK REFERENCE? 


539 002072 


001062 




BNE 


33S 


.- IF NE YES. IGNORE 


540 002074 

541 002076 


130210 
001460 




BITB 
BEQ 


R2.(R0) 
33i 


.- FIND WEAK REFERENCE? 
: IF EQ NO 


542 002100 


140210 




BICB 


R2.(R0} 


; CLEAR FLAG 


543 002102 


016760 


000024' OOOOOOC 


MOV 


CRVSC.SSYCMT-! 


>$YFLG(RO) ; SET ADDRESS OF CURRENT SECTION 


544 002110 


016701 


OOOOOOG 


MOV 


SCRVSM.RI 


; GET VIRTUAL ADDRESS OF REFERENCE 


545 002114 






CALL 


SWRMPG 


; WRITE-MARK PAGE 


546 002120 


005267 


0000006 


INC 


SMSYMC 


,- INCREMENT MASTER UNDEFINED COUNT 


547 002124 

548 002130 

549 002134 


005265 


OOOOOOG 


INC 


SSGUND(R5) 


; INCREMENT SEGMENT UNDEFINED COUNT 


000441 




CALL 
BR 


SBLDRF 
33S 


; BUILD REFERENCE LIST ENTRY 


550 002136 




51: 








551 002136 

552 002140 

553 002144 

554 002146 

555 002154 

556 002156 

557 002160 

558 002162 

559 002166 

560 002170 


010246 
012702 


000060' 


MOV 
MOV 


R2.-(SP) 
*SYDEF.R2 


•RESTORE RETURN ADDRESS 

.-GET ADDRESS OF FOUND SYMBOL FLAG 


005212 
132760 
001724 
005712 
001013 

103411 


OOOOOOG OOOOOOG 

10S: 


INC 

BITB 

BEQ 

TST 

BNE 

CALL 

CALL 

BCS 


<R2) .-INCREMENT FLAG TO "ecoRD BEEN HE"RE 

#SY$DEF . S$YFLG(RO) ; SYMBOL DEF INI TION? 

SYMSRC ;IF EQ NO-CONTINUE SEARCH 

(R2) .-TEST FOUND FLAG 

20f ;1F NE BEEN HERE MORE THAN ONCE 

40$ ;SET UP INITIAL PARAMETERS 

a(SP)» .-CONTINUE SEARCH 

30$ :IF CS DONE 

#SY$DEF.S$YFLG(RO); SYMBOL DEFINED? 

20$ .-IF FQ NO 

40$ .-COMPARE PARAMETERS 

10$ ;IF CC OKAY 

(SP)* .-CLEAN STACK 

80$ ;AMBIGUOUS SYMBOL DEFINITION 


561 002172 

562 002200 

563 002202 

S66 oo^^,^ 


132760 
001403 

103367 
005726 
000504 


OOOOOOG OOOOOOG 

20t: 


BITB 

BEQ 

CALL 

BCC 

TST 

BR 




; ALL PATHS SEARCHED-ALLOCATE 


INDIRECT SYMBOL TABLE ENTRY 



•••• i 16 •*•• 



Mtrnrt MUfta 1<-r\tr-77 ftQ.f Dtr.C t-1f> 



PRCLM MACRO Ml 108 U-OEC-77 09:58 PAGE 3-10 



571 

572 0O22U 

573 002220 
57A 002222 

575 002230 

576 002232 

577 002236 

578 0022AO 

579 0022AA 

580 002250 

581 00225A 

582 002260 

583 002264 

584 002270 

585 002276 

586 00230A 

587 002312 

588 0O23U 

589 002316 

590 002322 

591 002326 

592 002326 

593 002332 
59A 

595 
596 
597 
598 

599 002336 

600 002344 

601 002346 

602 002352 

603 002354 

604 002354 

605 002362 

606 002366 

607 002372 

608 002376 

609 002404 

610 002410 

611 002412 

612 002414 

613 002416 

614 002422 
615 

616 

617 

618 

619 

620 002424 
002424 
002430 
002432 

624 002434 

625 002440 
626 

627 



621 
622 
623 



005767 
001501 
026767 
001403 
005767 
100002 
000167 
012701 



016702 
010260 
152760 
152760 
132767 
001405 
010502 



000060' 30$: 
000056' OOOOOOG 
000054' 



001300 
OOOOOOG 



33$: 

34S: 



000060' 
OOOOOOG 

OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 
OOOOOOG 000064' 



351: 



000167 001074 



TST 

BEQ 

CMP 

BEQ 

TST 

BPL 

JMP 

MOV 

CALL 

CALL 

MOV 

MOV 

BISB 

BISB 

BITS 

BEQ 

MOV 

CALL 

CALL 

CALL 
JMP 



SYDEF 

80$ 

SRVSG.$RTSEG 

33$ 

SRCPF 

34$ 

SYMRET 

«S$YLGH,R1 

$ALSVB 

$LCKPG 

SYDEF, R2 

R2,S$YVAL(R0) 



DEFINITION FOUND? 

IF FQ NO-AMBIGUOUS DEFINITION 

FOUND IN MAIN ROOT? 

IF EQ YES. RESOLVE DIRECTLY 
FOUND ON PATH UP? 
IF PL YES 



;GET SIZE OF SYMBOL ENTRY 
ALLOCATE SMALL VIRTUAL CORE BLOCK 
LOCK DESCRIPTOR IN MEMORY 
GET VIRTUAL ADDRESS OF REAL SYMBOL 
SET INDIRECT ENTRY ADDRESS 

lirSY$IND,S$YFLG(RO);SET INDIRECT FLAG 

#SY$DEF,S$YFLG(RO);SET DEFINITION FLAG 



#SY$ATL,SYFLG 
35$ 

R5,R2 

LNKATL 

$CVRL 

$UNLPG 
SYMIN1 



AUTOLOAD SYMBOL 
IF EQ NO 

COPY REAL ADDRESS OF SEGMENT 
LINK ITEM TO AUTOLOAD LIST 
CONVERT ENTRY TO REAL ADDRESS 

UNLOCK NEW ENTRY 

INSERT ENTRY IN CURRENT SEGMENT 



COMPARE PARAMETERS 



t 

132760 OOOOOOG OOOOOOG 40$: BITB 

001403 BEQ 

016000 OOOOOOG MOV 

000414 BR 

50$: 

016067 OOOOOOG 000064* MOV 

016700 OOOOOOG MOV 

010067 000060' MOV 

010167 000054' MOV 

016767 OOOOOOG 000056' MOV 

020067 000062' 60$: CMP 

000261 SEC 

001001 BNE 

000241 CLC 

010067 000062' 70$: MOV 

RETURN 



#SY$IND.S$YFLG(RO); INDIRECT REFERENCE? 



50$ 

S$YVAL(R0).R0 

60$ 



IF EQ NO 

GET ADDRESS OF REAL ENTRY 



S$YFLG(RO).SYFLG ; SAVE ENTRY FLAGS 



$CRVSM,RO 
RO. SYDEF 
R1, SRCPF 
$CRVSR,SRVSG 
RO.SYENT 

70$ 

RO.SYENT 



GET VIRTUAL ADDRESS OF DEFINITION 

SET DEFINITION FLAG 
SET PATH FLAG 

SET VIRTUAL ADDRESS OF SEGMENT 
SAME AS LAST? 
ASSUME ANSWER IS NO 
IF NE NO 
CLEAR CARRY 
SET ADDRESS OF LAST 



AMBIGUOUS SYMBOL DEFINITION 



012702 000032' 
012701 

OOOG OOOG 

000167 000616 



80$: 



MOV 

MOV 

.BYTE 

CALL 

JMP 



#M0DN.R2 
(PO^.Rl 
£$R20,S$V0 
$ERMSG 

SYMINS 



GET ADDRESS OF MODULE 
GET ERROR/SEVERITY 
DIAGNOSTIC 
OUTPUT ERROR MESSAGE 



NAME 



CURRENT IS SYMBOL DEFINITION 



*••• n 16 **•• 



B 1 ERMSQ 
C 1 



INITL 
INITL 



E 10 MLSC2 
F 10 MLSG2 



M U MULS6 
N 1* 



B 1 


ERMSG 


J 




INITL 


E 1 





MLSG2 


M 




MULSG 


C 1 




K 




INITL 


F 1 





MLSG2 


N 






D 1 


EXTSK 


L 




INITL 


G 1 





MLSG2 


B 




NXTFL 


E 1 


EXTSK 


M 




INITL 


H 1 





MLSG2 


,* 




NXTFL 


F 1 


EXTSK 


N 






? ' 





MLSG2 






NXTFL 


G 1 




B 




MACFLM 


J 1 





MLSG2 


E 






H 1 


FNDPG 


C 




INIVM 


K 1 





MLSG2 


F 




PCTRL 


I 1 


FNDPG 


D 




INIVM 


L 1 





MLSG2 


G 




PCTRL 


J 1 


FNDPG 


E 




INIVM 


M 1 





MLSG2 


H 




PCTRL 


*C 1 




F 






N 1 





MLSG2 


I 






L 1 


FNIT 


G 




MACFLM 


B 1 






J 




PRCER 


N 1 


FNIT 


H 




INIVS 


C 1 




MPONE 


K 




PRCER 


N 1 




I 




INIVS 


D 1 




MPONE 


L 




PRCER 


B 2 


GTBYT 


J 




INIVS 


E 1 




MPONE 


M 




PRCER 


C 2 


GTBYT 


K 






F 1 




MPONE 


N 




PRCER 


D 2 


GTBYT 


L 




lODAT 


G 1 




MPONE 


B 






E 2 


GTBYT 


M 




lODAT 


H 




MPONE 


C 




PRCLM 


F t 




N 




lODAT 


1 




MPONE 


D 




PRCLM 


G 2 


GTCML 


B 




lODAT 


J 




MPONE 


E 




PRCLM 


H 2 


GTCML 


C 




lODAT 


K 




MPONE 


F 




PRCLM 


I 2 


GTCML 


D 




lODAT 


L ' 




MPONE 


G 




PRCLM 


J 2 


GTCML 


E 




lODAT 


M 




MPONE 


H 




PRCLM 


K I 




F 




I COAT 


N 




MPONE 


I 




PRCLM 


L 2 


MACFLM 


G 




lOOAT 


B 




MPONE 


J 




PRCLM 


M 2 


' GTCOR 


H 




lODAT 


C 






K 




PRCLM 


N 2 


GTCOR 


I 




lODAT 


D 




MPOUT 


L 




PRCLM 


B ! 


GTCOfI 


» 




lODAT 


E ' 




MPOUT 


M 




PRCLM 


C I 


1 


K 






F 




MPOUT 








J 


MACFLM 


L 




MACFLM 


G 




MPOUT 








E ! 


. GTCOS 


M 




MACFLM 


H 




MPOUT 








F 2 


\ GTCOS 


N 




LM1 


I 




MPOtJT 








G ? 


GTCOS 


B 






J 




MPOUT 








H I 


; 


C 




MACFLM 


K 




MPOUT 








1 ! 


; GTPPR 


D 




LM2 


L 




MPOUT 








J 3 


; GTPPR 


E 






M 




MPOUT 








IC I 


GTPFR 


F 




FCSPR 


N 




MPOUT 








L I 




G 




MLSGO 


B 












M ] 


\ HEADR 


H 




MLSGO 


C 




MPTWO 








N 3 


; HEAOR 


I 




MLSGO 


D 




MPTWO 








B t 


) HEADR 


J 




MLSGO 


E 




MPTWO 








C t 


1 HEAOR 


K 




MLSGO 


F 




MPTWO 








< 


HEADR 


L 




MLSGO 


G 




MPTWO 








t < 


HEADR 


M 


8 


MLSGO 


H 




MPTWO 








F ^ 


> HEADR 


N 


H 


MLSGO 


I 




MPTWO 








C < 


HEADR 


B 


9 


MLSGO 


J 




MPTWO 








H t 


• HEADR 


C 


9 




K 




MPTWO 








I < 


1 HEADR 


D 


9 


MLSG1 


L 




MPTWO 








J 4 


1 HEADR 


E 


9 


MLSG1 


M 




MPTWO 








K i 


. HEADR 


F 


9 


ML5G1 


N 




MPTWO 








L 4 


1 HEADR 


G 


9 


ML SGI 


B 












N 4 


) HEADR 


H 


9 


MLSG1 


C 




MRKPG 








N <l 


) HEADR 


I 


9 


MLSG1 


D 




MRKPG 








B \ 


HEADR 


J 


9 


ML SGI 


E 




MRKPG 








c i 


HEADR 


K 


9 


MLSG1 


F 












! 


HEADR 


L 


9 


MLSG1 


G 




MULSu 








E 1 




M 


9 


MLSG1 


H 




MULSG 








F 1 


INIDM 


N 


9 


MLSG1 


1 




MULS6 








C 1 


INIDM 


B 


^Q 


ML SGI 


J 




MULSG 








H ! 


IN DM 


C 


10 


MLSG1 


K 




MULSG 








I ; 




D 


10 




L 




MULSG 









PRCLH MACRO mi08 U-DEl-^? 09:58 PAGE 3-11 



628 
629 
6K) OOZAA^ 

631 002AA6 

632 CO2'50 
635 0O2^5A 
63A 002A60 
635 002A6s 

656 002A70 

657 002A7i 
638 C02A7A 

659 002500 
y,0 'H)2bO^ 
6A1 002510 
6A? 0025U 
6A: 0025^0 
6AA 00252A 
6A5 002532 
6A6 002SA0 
6A7 0O25A6 
6AP 00255A 
6A9 0P2562 

650 002566 

651 002570 

652 'X)257A 
655 U02600 
65A r»02M)2 

655 902602 

656 00260A 

657 002610 

658 002612 
6'>9 002616 

660 002622 

661 0'J2626 

662 00?65? 
665 002632 
66A 002656 

665 0026A2 

666 QQ26A6 

667 002650 

668 0O265A 
6^"^ 002656 
67C 002<>^ 
671 002662 

$imi 

67A 002676 
675 002702 



005701 
001055 
016701 



103575 
001 174 
016701 



0101J>7 
01600^ 
016560 
0A2760 
0^6567 
016360 
016760 
15370^ 
00)'?0 
005563 
005567 
000515 

010U6 
0127/.6 
0103^ S 
016701 

01006/ 
000167 



; 

SYMDEF: 



OOOOOOG 



OOOCOOG 



000062' 
C'OCOOOG 

OOOOOOG OOOOOOG 
OOOOOOG OOOOOOG 
OOOOOOG 00006A' 
OOOOOOG OOOOOOG 
0000?/' OOOOOOG 
OOOOOOG 

OOOOOOG 
OOOOOOG 



10$: 



00>63?' 

OOOOOOG 

OOOOOOG 
OOOA60 



016701 OOOOOOG 



010046 



eott 



105450 
001051 
012600 
016?01 

001006 
00556' 



OOOOOOG 
OOOOOOG OOOOOOG 

SSffi 

OOOCOOG 




25»i 



rsT 

BNE 

MOV 

CALL 

CALL 

CALL 

BCS 

BN€ 

MOV 

CALL 

CALL 

CALL 

MOV 

MOV 

MOV 

BIC 

MOV 

MOV 

MOV 

eiT8 

BNE 

DEC 

DEC 

BA 

MOV 

MOV 

MOV 

MOV 

CALL 

MOV 

J^»> 

MOV 

CALL 

CALL 

MOV 

CALL 

BCS 

BNC 

MOV 

MOV 

BITS 

BNE 

MOV 

D?C 

DEC 

MOV 

MOV 

CLR 

91 SB 

61 SB 

(MP 

BFQ 



R1 ;F1N0 IN CURRENT SEGMENT? 

10$ ;IF NE NO 

ICRVSM.RI ; GET VIRTUAL ADDRESS Of SYMBOL 

IDELRF ; REMOVE REFERENCE LIST ENTRY 

SLCKPG ; LOCK PAGE IN MEMORY 

SYMCHK ; CHECK FOR MULTIPLE DEFINITION 

50$ ; IF C/S SYMBOL MULTIPLY DEFINED 

IGf«3RE DUPLICATE ABS SYMBOL 

GET VIRTUAL ADDRESS OF ENTRY 

rONVIfRT TO REAL 

WRITE-MARK PAGE 

UNLOCK MGE 

SAVE VIRTUAL ADDRESS OF ENTRY 

- . COPY PREVIOUS FLAGS 

S$YFLG(R5).S$YFLG(R0) ; SET SYMBOL FLAGS 
#SYIW(,S$YFL6(R0) ; CLEAR WEAK QUALIFIER 
S$YrLG(R5).SYFLG ; SAVE SYMBOL FLAGS 
S$YVAL(R5).S$YVAL(R0);SET SYMBOL VALUE 
CRVSC.S$YCMT(RO) ; SET SECTION ENTRY ADDRESS 
«Y$WK.R2 ; SYMBOL WEAK "'FERENCE? 

45$ ; IF NE YES, ^cN'T DECREMENT C0UNT5 

S$GUND(R5} .-DECREMENT UNDEFINED SYMBOL C 'liNT 

$MSYMC ; DECREMENT MASTER UNDEFINED Sf«JOL COUNT 

45$ 



;s$ 

$CRVSM.rj1 

$CVRL 

$WRMPG 

$UNLPG 

R1.SYENT 

S$YFLG(R0),R2 



R1,-(SP) 

#20$. -(SP) 

R3, -(SP) 

$CRVSR.R1 

$CVLOK 

ROJCRSnC 

SVMINO 

$CMVSM,R1 

$CVLOK 

$WRMPG 

RO,"(SP) 

SYMCHK 

50$ 

35$ 

(SP)»,R0 

$CRVSM,R1 

«SY$WK.S$YF 

25$ 

$CRSRC,R2 

S$GUNDiR2) 

$MSYMC 



;SAVE PAIH FLAG 

; SET RETURN ADDRESS 

••PLACE R5 ON STACK 

; GET VIRTUAL ADDRESS OF SEARCH SEGMENT 

; CONVERT TO REAL, LOCK IN COf<E 

; SET REAL ADDRESS OF SEARCH SEGMENT 

; INSERT SYMBOL IN CURRENT SFOMFNT 

; GET VIRTUAL ADDRESS OF rOlJND REFERENCE 
; CONVERT TO REAI , I 0C^ IN MEMORY 
; WRITE MARK PAG.. 
; SAVE REAI ADDRESS 
; CHECK FU« MHTIPU DEFINITION 
; IF C/S SYMBOL MULFIPLY DEFINED 
; IF NE IGNORE DLiPLlCATf ABS SYMBOL 
; RETRIEVE REAi ADDRESS OF SYMBOL 
( GET VIRTUAL ADDRESS OF ENTRY 
LG(RO) ; FOUND WEAK REFERENCE? 

; If NE YtS. DON'! DftRfMENT COUNTS 
;GET /*DDRfSS Of SFARCH SFOMfNT 
.'DECREMENT IJNDfflNtD SYMBOl roUNt 
.DECREMENT MA^tFR UNDFFINtO SYMBOl lOUNI 



$YENT.R2 ;GtT ADDRESS OF CURRENT FNTRY 

R?.S$YVAl(RO) ;SfT INOIRri T FNfRY ADDRESS 
S$YSrG(RO) ifLEAR SfGMENI APORFSS 

#SY$1ND.S$YFLG(R6);SET INDIRECT HAG 



(SP)» 
40$ 



:»\ 



#SY$DEf,S$YFLG(R6);SE! DEFINITION FLAG 
; FOOND on PAtM DOWN 7 
.•♦♦021 If tU NO 



••••TT 



•*•* 



PRCIM MACRO M1108 U-OIC-77 09t58 PAGE VI? 



PRCLM MACRO H1 108 U-OEC-77 09:58 PAGE 3-12 



685 002750 
666 002756 

687 002760 

688 00276A 

689 002770 

690 00277A 

691 002776 

692 002776 

693 003002 

694 003002 
693 003004 

696 003004 

697 0030 10 

698 0030U 

699 003020 

700 0C3024 

701 0030^ 

702 003030 

703 003032 

704 003034 

705 003040 

706 003040 

707 003042 

708 003046 

709 003052 

710 003056 
711 

715 
714 
715 

716 003060 

717 003060 

718 003064 

719 003064 

720 003066 

721 003072 
72i 003076 
7^5 

m. 

725 
726 
727 

OUJIOi 




?j? nil 



132767 OOOOOOfi 00006^1' 

001412 

016702 0000006 

016701 OOOOOOG 

000^,03 



022626 
016701 
016701 



OOOOOOG 
OOOOOOG 



103002 
000167 000^04 

010146 

016701 0000006 

010067 0000006 
000665 



30S 
35S 

401 



4SS: 



47t: 



BITB #SYSATL.SyFLG 

BEQ 40S 

MOV SCRSRC.R2 

MOV SCRVSM.RI 

CALL LNKATL 

BR 40$ 

CALL 60S 

CMP (SP)*,(SP)» 

MOV SCRVSM.RI 

CALL tUNLPC 

MOV SCR VSR. R1